in reply to Where is the bug in this Net::SNMP code?

To debug, I'd start looking at the capture in this line
unless ( $ObjectID1 =~ /$sysName(.*)/ ) { last; } # does this what you want? -----^^^^
and check whether what's in $1 is fit to be appended, in the following line:
$ObjectID2 = $prtCoverStatus.$1;

HTH,
--shmem

_($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                              /\_¯/(q    /
----------------------------  \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}

Replies are listed 'Best First'.
Re^2: Where is the bug in this Net::SNMP code?
by tolyan77 (Novice) on Oct 09, 2006 at 13:53 UTC
    I have made on another
    #!/usr/bin/perl #use strict; use Net::SNMP; my @ips=(11); foreach my $k (@ips) { my $hostname = "10.0.0.$k"; my $password = "public"; my $sysUpTime = '.1.3.6.1.2.1.1.3'; my $sysName = '.1.3.6.1.2.1.1.5'; my $hrPrinterStatus = '.1.3.6.1.2.1.25.3.5.1.1'; my $hrPrinterDetectedErrorState = '.1.3.6.1.2.1.25.3.5.1.2'; my $prtCoverStatus = '.1.3.6.1.2.1.43.6.1.1.3'; my $status; my ( $session, $error ) = Net::SNMP->session ( Hostname => $hostname, Community => $password ); die "session error: $error" unless ( $session ); $result = $session->get_next_request ( varbindlist => [$sysName.$1] ); + die "request error: ".$session->error unless ( defined $result ); ( $sysName, $name1 ) = each %$result; unless ( $sysName =~ /$sysName(. +*)/ ) { last; } $result = $session->get_next_request ( varbindlist => [$prtCoverStatus +.$1] ); die "request error: ".$session->error unless ( defined $resul +t ); ( $prtCoverStatus, $name2 ) = each %$result; unless ( $prtCoverStatus +=~ /$prtCoverStatus(.*)/ ) { last; } $result = $session->get_next_request ( varbindlist => [$hrPrinterDetec +tedErrorState.$1] ); die "request error: ".$session->error unless ( d +efined $result ); ( $hrPrinterDetectedErrorState, $name3 ) = each %$result; unless ( $hr +PrinterDetectedErrorState =~ /$hrPrinterDetectedErrorState(.*)/ ) { l +ast; } $result = $session->get_next_request ( varbindlist => [$hrPrinterStatu +s.$1] ); die "request error: ".$session->error unless ( defined $resu +lt ); ( $hrPrinterStatus, $name4 ) = each %$result; unless ( $hrPrinterStatu +s =~ /$hrPrinterStatus(.*)/ ) { last; } $session->close; print "$name1\t$name2\t$name3\t$name4\n"; } exit 0;
    There was other question why there are no data in .1.3.6.1.2.1.25.3.5.1.2, $name3 - it is empty.