use Net::Telnet::Cisco; sub doOne{ my $sess = shift; my $cmd = "sh ver"; my @lines = $sess->cmd("$cmd"); foreach my $line (@lines)... # do the parsing return... } my $session = Net::Telnet::Cisco->new( Host => $host, Input_log => $logfile, Timeout => 15, Errmode => "return"); if($session){ $session->login(Name => "$user", Password => "$pass", Timeout => 15) or warn "> \[Login Error\]: $!"; my @arr1 = doOne($session); # session is a hash reference? my @arr1 = doTwo($session); # tried the backslash in front of it $session->close(); }