$oid =~ s/\./\\./g; # replaces a . with \. However when receiving trap alerts it comes with partially translated trapoid
Eg:
SNMPv2-MIB::snmpTrapOID.0 type=6 value=OID: SNMPv2-SMI::enterprises.789.0.13
It does not match with full oid created in the code.
Also $item->{ key } = "snmptrap[\"\\s$oid\\s\"]"; # surrounds with the oid with \s. When I checked it with http://www.rexv.org/ under posix regex none of those matched. Therefore item key had to change.
$item->{ key } = "snmptrap[\"$oid\"]";
Please note that this was tested only on NETAPP-MIB