use SNMP;

$SNMP::auto_init_mib = 0; 

$sess = new SNMP::Session(); 

sub poller_handler {  
   if (++$i>500) { die "completed 500 polls\n"; };
   # VarList is undefined if TIMEOUT occured
   if (!defined($_[1])) { 
       warn "request timed out[$_[0]->{ErrorStr}]\n";
       return;
   }
#   print "$i) ",$_[1][0]->tag, " = ", $_[1][0]->val, "\n";
} 

# $sess->get([[".1.3.6.1.2.1.1.3.0"]], [\&poller_handler, $sess]); 

SNMP::MainLoop(.1,sub {for (1..50) {$sess->get([['.1.3.6.1.2.1.1.3.0']], [\&poller_handler, $sess]);} });