use warnings; use strict; use Net::Telnet::Cisco; my $session = Net::Telnet::Cisco->new(Host => 'xxx.xx.xx.xx'); $session->login('','password'); # no paging - disrupts output $session->cmd('terminal length 0'); my @output1 = $session->cmd('show int status | include connected'); foreach my $out (@output1) { my $port = ( split / /, $out )[0]; next unless defined $port; my $mac = $session->cmd( "sh mac-address-table int $port" ); if ( $mac =~ m/(\.\w{4}\.\w{4})/ ) { my $ip = $session->cmd( "sh ip arp | include $1" ); if( $ip =~ m/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/ ) { print `nslookup $1`; } } } $session->close;