http://www.perlmonks.org?node_id=817688

Flynt has asked for the wisdom of the Perl Monks concerning the following question:

Hello All,

I'll try to ask this as clearly as I can. Can't seem to find an answer to how to fix this. Currently I am using the telnet module to login to a machine and retrieve information using a simple info command(it retrieves machine type, serial number, MAC addresses, etc.) The problem I am having is the output contains -> as one of the MAC address entries.

When I get to that entry, perl stops trying to gather more data and my script stops. Here's the snippet of code. As you can see, it's very simple.

$telnet->print("info -T system:$target"); @infosyst=$telnet->waitfor('/>/i');

Now I can also just print the result with print $telnet->waitfor('/>/i'); Either way, the output is the same

Where I should receive this as the output

MAC Address 1: 00:1A:64:85:B2:C0 -> 00:1A:64:85:B2:CF
MAC Address 2: Not Available
MAC Address 3: Not Available
MAC Address 4: Not Available
MAC Address 5: Not Available
MAC Address 6: Not Available
MAC Address 7: Not Available
MAC Address 8: Not Available

I receieve this and the script stops
MAC Address 1: 00:1A:64:85:B2:C0 ->

How do I tell it to ignore that as a command? telnetmode does not work for this case.

All help appreciated,
Flynt