The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use SNMP;
$SNMP::use_enums = 1;

my $host = shift;
my $comm = shift;
$sess = new SNMP::Session(DestHost => $host, Community => $comm);

$vars = new SNMP::VarList( ['ipRouteIfIndex'], ['ipRouteType'],
                           ['ipRouteProto'], ['ipRouteMask'],
                           ['ipRouteNextHop'], ['ipRouteAge'],
			   ['ipRouteMetric1']);

format STDOUT_TOP =
  Destination      Next Hop          Mask       Proto    Age    Metric
--------------- --------------- -------------- ------- -------- ------
.

format STDOUT =
@<<<<<<<<<<<<<< @<<<<<<<<<<<<<< @<<<<<<<<<<<<< @|||||| @||||||| @|||||
$dest,          $nhop,          $mask,         $proto, $age,    $metric
.

for (($index,$type,$proto,$mask,$nhop,$age,$metric) = $sess->getnext($vars);
     $$vars[0]->tag eq 'ipRouteIfIndex' and not $sess->{ErrorStr};
     ($index,$type,$proto,$mask,$nhop,$age,$metric) = $sess->getnext($vars)) {
    $dest = $$vars[0]->iid;
    write;
}

print "$sess->{ErrorStr}\n";