So, I've been tasked with modifying a perl script that currently uses telnet to run certain commands on various types of network devices. My boss refuses to rewrite the existing script or use perl expect. (Or even just plain old expect, which would take me less than a day.) He wants a way to make the connection and use telnet OR ssh, depending on the response from the devices.I've looked at "IO::Pty, Net::Telnet and SSH SOLVED" but it is rather old and sort of vague. Any thoughts on a way to proceed. (Not asking for a specific script, though that would be nice, just some pointers.) Oh, and we use openCSW, which has some differences from true CPAN. (i.e. Net::SSH::Perl not there).
OK, let's take this tact: What my "wonderful" boss really wants is to implement expect without actually using the expect module. I've got the test for SSH part working using Net::SSH2. Now I need to send a command, examine the response for subsequent commands. The responses vary because of the different levels and types of device firmware. I.E. one level for the same vendor responds with 'hostname$' while another responds 'hostname#'. (Note the '$' and '#'.) The different responses require slightly different follow-on commands. I'm a bit stuck on retrieving the responses. (I'm not a Perl guru so please be kind.)
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |