in reply to Catching timeout for Net::Telnet

I used some forking code to take care of a similar situation like this
foreach my $market (@HOSTLIST) { if( my $mypid = fork() ) { print("$market is pid $mypid\n"); } elsif( $mypid == 0 ) { new_session($market); } elsif( ! defined $mypid ) { die "Error: Couldn't fork: $!"; }
Mix it in with a procedure to sleep five minutes and try again for failed attempts and a max number of 3 retries.