note
Fastolfe
<p>If you have a <i>question</i>, please post it to [Seekers of Perl Wisdom] along with a better description of the problem.</p>
<p>I notice your code has a lot of repetition. Generally, whenever I see repetition in code, that tells me I can probably reduce some of it to a function or iteration:</p>
<code>
my %check_oids = (
sysUpTime => '1.3.6.1.2.1.1.3.0',
sysDescr => '1.3.6.1.2.1.1.1.0',
sysObjectID => '1.3.6.1.2.1.1.2.0',
sysContact => '1.3.6.1.2.1.1.4.0',
sysName => '1.3.6.1.2.1.1.5.0',
sysLocation => '1.3.6.1.2.1.1.6.0',
sysServices => '1.3.6.1.2.1.1.7.0',
);
foreach (keys %check_oids) {
my $result = $session->get_request(
-varbindlist => [$check_oids{$_}]
);
if (!defined($result)) {
printf("ERROR: %s.\n", $session->error);
$session->close;
exit 1;
}
printf("%s for host '%s' is %s\n", $_,
$session->hostname, $result->{$check_oids{$_}}
);
}
</code>
128934
128934