Ok, this one is solved. Thanks for the help. It definitely was hanging on the prompt.
The following is from the perldoc telnet document.
* The methods "login()" and "cmd()" use the *prompt* setting in the
object to determine when a login or remote command is complete. Those
methods will fail with a time-out if you don't set the prompt
correctly.
########################################################
Here's the change I made to my code. I added the Prompt=>'/Bilbo>$/i', line.
my $telnet = new Net::Telnet ( Timeout=>10,
Prompt=>'/Bilbo>$/i',
Errmode=>'die',
Dump_Log=>'dump.txt',
Input_log=>'input.txt',
Output_log=>'output.txt',
);