#!/usr/local/bin/perl -w use strict; use warnings; use diagnostics; use SNMP; ### Equipment Array ### our @Equipment = ( "10.190.16.200", ); ### Equipment Type Hash ### our %EquipmentType = ( "10.190.16.200" => "switch", ); ### Switch MIB Hash ### our %SwitchMIBs = ( "uptime" => "sysUpTime,0", "description" => "sysDescr,0", ); our $uptime; our $snmp; # Main { my $Equipment; foreach $Equipment(@Equipment) { if ($EquipmentType{$Equipment} =~ "switch") { $snmp = new SNMP::Session(DestHost=> "$Equipment", Community => 'emacs2000', ); $uptime=$snmp->get("$SwitchMIBs{uptime}"); printf ("Uptime for $Equipment is $uptime\n"); } } exit; }