use strict; use warnings; use Net::SNMP qw(:snmp); my $address = $ARGV[0]; my $user = $ARGV[1]; my $pass = $ARGV[2]; my $protocol = lc $ARGV[3]; my $snmp_community = $ARGV[4]; my $snmp_version = $ARGV[5]; my $snmp_port = $ARGV[6]; my $snmp_timeout = $ARGV[7]; my $max_oids = $ARGV[8]; my $snmp_username = $ARGV[9]; my $snmp_password = $ARGV[10]; my $snmp_auth_protocol = $ARGV[11]; my $snmp_priv_passphrase = $ARGV[12]; my $snmp_priv_protocol = $ARGV[13]; my $snmp_context = $ARGV[14]; my $action = lc $ARGV[15]; my $type = lc $ARGV[16]; my ( $session, $error ) = Net::SNMP->session( hostname => $address, port => $snmp_port, version => "snmpv" . $snmp_version, timeout => $snmp_timeout, debug => $snmp_debug_mask, username => $snmp_username, authpassword => $snmp_password, authprotocol => $snmp_auth_protocol, privpassword => $snmp_priv_passphrase, privprotocol => $snmp_priv_protocol, );