telnet_login($username,$password,$host,\$telnet); ...... sub telnet_login { use Net::Telnet; my ($username, $password, $host, $telnet) = @_; my $error_msg= "Incorrect username or password, please try again"; $$telnet = new Net::Telnet (Timeout=>7, # Errmode=>\&report_error($error_msg)); ####the above line is the one spoken of in my description#################### $$telnet->dump_log("./Plog.log"); # generate log $$telnet->open(Host=>$host); $$telnet->login($username,$password); } .......... sub report_error { my $thing = shift; print $thing; die; }