use Net::Ping; use Net::Telnet::Cisco; use Getopt::Long; my $host = ""; my $interface = ""; my $PRIList = ""; my $T1List = ""; my $T1Count = 0; my $PRICount = 0; GetOptions("host:s" => \ $host); if (!$host) { print "usage: perl regexp_test.pl --host=(IPAddress)"; exit; } my $p = Net::Ping->new(); if ($p->ping($host)) { print "\nDevice is online, connecting...\n\n"; my $session = Net::Telnet::Cisco->new(Host => $host); $session->login('user', 'password'); $session->cmd("term len 0"); print "Retrieving T1 controller details...\n\n"; my @check = $session->cmd("sh run | s controller T1"); print "@check\n"; for(@check) { # match an interface number e.g. 0/0/0, 0/1/0, etc if (m^([0-9]/[0-9]/[0-9])^) { $interface = $1; $T1Count++; $T1List = $T1List . $interface . "\n"; } # check if the interface is a PRI (pri-group timeslots 1-24) if (m^pri-group^) { $PRICount++; $PRIList = $PRIList . $interface . "\n"; } } if ($T1Count > 0) { print "T1 Controller Summary:\n\n"; print "$T1Count total T1 interfaces\n"; print "$T1List\n"; print "$PRICount total voice PRI(s)\n"; print "$PRIList\n"; } else { print "No T1 interfaces found"; } $session->close; } else { print "\nDevice OFFLINE!! Connection aborted!!\n\n"; } $p->close();