Just to clarify:
in reply to Net::SSH::Expect Connection Refused
Assuming all of this, your problem is that most likely, you looked at the example for using login() at the top of the cpan page. login() will croak for any startup problems (like not being able to reach the target device). It tells you this in the documentation for login() a little lower down. To handle this, you need to use eval to run login() and look at $@. Then you can get cisco_ssh_login to return what you want
- The cisco_ssh_login() function works fine when the router (or whatever) is setup to use ssh
- When the target device can only be accessed by telnet, your script fails as you describe
- When you say 'fails in the first line', you mean the first line of cisco_ssh_login(), not the whole script, right?