ok here is the code a bit more readable
#!/usr/bin/perl -w
use Net::SNMP;
use strict;
use warnings;
use diagnostics;
open IPFILE, "ipfile.txt" or die "Can't get IPs - $!\n";
my $community = 'public';
my $ifIndex = '1.3.6.1.2.1.47.1.1.1.1.6'; #1.3.6.1.2.1.2.2.1.1
+ 1.3.6.1.2.1.47.1.1.1.1.12
my $ifDescr = '1.3.6.1.2.1.47.1.1.1.1.11'; #1.3.6.1.2.1.47.1.1.1.1.
+13
my $ifDescr2 = '1.3.6.1.2.1.47.1.1.1.1.2'; #1.3.6.1.2.1.47.1.1.1.1.
+13
my @test1;
my @test2;
while ( my $ip = <IPFILE> )
{
chomp $ip;
print "Got: $ip\n";
+
my ( $session, $error ) = Net::SNMP->session(
-hostname => $ip,
-community => $community,
-port => 161
);
my $response;
if ( defined( $response = $session->get_table($ifIndex) ) )
{
foreach my $index ( values %{$response} ) #values
{
my $this_desc = "$ifDescr.$index";
my $description;
if ( defined( $description = $session->get_request($this_d
+esc) ) )
{
my @serial = values %{$description};
#open OUT, ">>serlist.txt";
#print OUT @serial;
#close OUT;
#open (OUT, ">>serlist.txt");
#print keys %{$description};
#print '.......';
#print values %{$description}, "\n";
}
}
foreach my $index ( values %{$response} ) #values
{
my $this_desc = "$ifDescr2.$index";
my $description2;
if ( defined( $description2 = $session->get_request($this_
+desc) ) )
{
my @desc = values %{$description2};
#open OUT, ">>desclist.txt";
#print OUT @desc;
#close OUT;
#open (FILE, ">>desclist.txt");
#print keys %{$description};
#print '.......';
#print values %{$description2}, "\n";
}
}
print @test1;
}
$session->close();
}
The object is to make a list of the two values the @test1 and the @desc, so i need to get them out to the main prog to print them: test1;desc . |