#! /usr/local/bin/perl use strict; use warnings; use Net::SNMP; use Data::Dumper; #use Net::SNMP qw (:snmp); my $OID_sysUpTime = '1.3.6.1.2.1.1.3.0'; my $OID_sysDescr = '1.3.6.1.2.1.1.1.0'; my @request; my ($session, $error) = Net::SNMP->session( -hostname => shift || 'localhost', -community => shift || 'public', ); if (!defined $session) { printf "ERROR: %s.\n", $error; exit 1; } #@request = ('1.3.6.1.2.1.1.3.0'); #push @request, '1.3.6.1.2.1.1.3.0'; #print Dumper(@request); push (@request, ($OID_sysDescr,$OID_sysUpTime)); my $result = $session->get_request( -varbindlist => [ @request ], ); if (!defined $result) { printf "ERROR: %s.\n", $session->error(); $session->close(); exit 1; } printf "The sysUpTime and sysDescr for host '%s' is %s and %s.\n", $session->hostname(), $result->{$OID_sysUpTime}, $result->{$OID_sysDescr}; $session->close(); exit 0;