Forum Webscript.Ru

Программирование => Perl => Тема начата: tolyan77 от 05 Октября 2006, 12:42:31

Название: Помогите с SNMP в Perl
Отправлено: tolyan77 от 05 Октября 2006, 12:42:31
Привет, Алл
есть код

#!/usr/bin/perl

use Net::SNMP;

my $sysName = "1.3.6.1.2.1.1.5";
my $prtCoverStatus = "1.3.6.1.2.1.43.6.1.1.3";

my ( $session, $error ) = Net::SNMP->session (
Hostname => $hostname,
Community => $password
);
die "session error: $error" unless ( $session );

my ( $session, $error ) = Net::SNMP->session (
Hostname => 127.127.127.1,
Community => public
);
die "session error: $error" unless ( $session );

$ObjectID1 = $sysName;

$result = $session->get_next_request ( varbindlist => [$ObjectID1] );
die "request error: ".$session->error unless ( defined $result );

$ObjectID1 = $sysName;
( $ObjectID1, $name ) = each %$result;
unless ( $ObjectID1 =~ /$sysName(.*)/ ) { last; }

$ObjectID2 = $prtCoverStatus.$1;

$result = $session->get_request ( varbindlist => [$ObjectID2] );
die "request error: ".$session->error unless ( defined $result );

$CoverStatus = "$result->{$ObjectID2}";

print "$name\\t$CoverStatus\\t";

$session->close;


а он выдает ошибку "request error: Received noSuchName(2) error-status at error-index 1 at status.pl ..."
когда пытаюсь второй раз $result получить, подскажите как побороть?

заранее благодарен