(@arpResults) = &snmpwalk("$secret\@$gw", "$ipNetToMediaPhysAddress"); foreach $linebuf (@arpResults) { if ($linebuf =~ /\d+\.$oc1\.$oc2\.$oc3\.$oc4\:*/){ print "$linebuf\n"; my $val; ($arpMib, $arpOctetstr) = split(/:/, $linebuf, 2); ($distIndex) = split (/\./,$arpMib, 2); map { $val .= sprintf("%02x",$_) } unpack "CCCCCC", $arpOctetstr; $macFromARP= uc (join(":",unpack("a2 a2 a2 a2 a2 a2",$val))); ($ifNamez)=&snmpget("$secret\@$gw", "$ifName\.$distIndex"); $vlan = $ifNamez; $vlan =~ s/\D//g; print "$arpMib; $distIndex:$ifNamez:-$vlan Value=\t$macFromARP\n"; }}