#!/usr/bin/perl -w $command = "snmpwalk -On " . join(" ", @ARGV) . " .1.3.6.1.2.1.17.4.3.1.2"; open(SNMPWALK, "$command|") || die("open(\"$command|\"): $!\n"); while () { chomp(); m/^\.1\.3\.6\.1\.2\.1\.17\.4\.3\.1\.2\.(\d+)\.(\d+)\.(\d+)\.(\d+)\.(\d+)\.(\d+) = INTEGER: (\d+)$/ || die("could not parse line $.: \"$_\"\n"); printf("%02X-%02X-%02X-%02X-%02X-%02X %d\n", $1, $2, $3, $4, $5, $6, $7); }