use Net::SNMP qw(:asn1);
# missing $monitor?
my $monitor = '192.168.254.1';
# remove quotes from OCTET_STRING, it's a constant.
my @oids = ($svSvcName, OCTET_STRING, $message);
the above changes make it work for me.
# snmptrapd -f -P
2003-09-23 15:20:06 NET-SNMP version 5.0.6 Started.
2003-09-23 15:20:25 192.168.254.1(via 192.168.254.1) TRAP, SNMP v1, co
+mmunity public
SNMPv2-SMI::enterprises Enterprise Specific Trap (0) Uptime: 0
+:00:01.00
SNMPv2-SMI::enterprises.77.1.2.3.1.1 = STRING: "THIS IS AN SNM
+P TEST"
2003-09-23 15:20:48 192.168.254.1(via 192.168.254.1) TRAP, SNMP v1, co
+mmunity public
SNMPv2-SMI::enterprises Enterprise Specific Trap (0) Uptime: 0
+:00:01.00
SNMPv2-SMI::enterprises.77.1.2.3.1.1 = STRING: "THIS IS AN SNM
+P TEST"
2003-09-23 15:21:08 192.168.254.1(via 192.168.254.1) TRAP, SNMP v1, co
+mmunity public
SNMPv2-SMI::enterprises Enterprise Specific Trap (0) Uptime: 0
+:00:00.00
SNMPv2-SMI::enterprises.77.1.2.3.1.1 = STRING: "THIS IS AN SNM
+P TEST"