$MAIN::a = 1; $stuff='c:\scripts\ipListPart3.txt'; open STUFF, $stuff or die "Cannot open $stuff for read :$!"; while () { chomp $_; $MAIN::host = $_; my $out="c:/scripts/out.txt"; open OUT, ">>$out" or die "Cannot open $out for write :$!"; printf OUT ("\n$MAIN::host\n"); $MAIN::counter = 0; $stuff1='c:\scripts\mibs1a.txt'; open STUFF1, $stuff1 or die "Cannot open $stuff1 for read :$!"; while (){ chomp $_; $MAIN::oid = $_; my $out="c:/scripts/out.txt"; open OUT, ">>$out" or die "Cannot open $out for write :$!"; @MAIN::names = ("adminStatus","operStatus","autoNeg","adminSpeed","adminDuplex" ,"operSpeed","operDuplex","taggingType","vids","discardTagged", "discardUntagged","defaultVid","stg1Enable","stg1State","stg1Faststart"); printf OUT ("$MAIN::names[$MAIN::counter]\t"); $MAIN::counter++; for ($MAIN::a = 1; $MAIN::a <= 48; $MAIN::a++){ &subOne; } sub subOne { $_ = $MAIN::oid; $_ =~ s/port/$MAIN::a/; use Net::SNMP; my ($session, $error) = Net::SNMP->session( -hostname => shift || $MAIN::host, -community => shift || 'public', -port => shift || 161, -timeout => shift || 5 ); if (!defined($session)) { printf("ERROR: %s.\n", $error); exit 1; } my $DesignatedRoot = $_; my $result = $session->get_request( -varbindlist => [$DesignatedRoot] ); if (!defined($result)) { printf("ERROR: %s.\n", $session->error); $session->close; exit 1; } my $out="c:/scripts/out.txt"; open OUT, ">>$out" or die "Cannot open $out for write :$!"; $a = ($result->{$DesignatedRoot}); $a =~ s/\n/0x000a/; printf OUT $a; #printf OUT ($result->{$DesignatedRoot}); printf OUT ("\t"); if ($MAIN::a == 48) { printf OUT ("\n"); } $session->close; } } } exit 0;