for(;;) {... my $host = something; my $ftp = Net::FTP->new($host, Timeout => 30); if (defined($ftp)) { my $TODAY = time; print LOG "Established ftp connection with $host\n"; print LOG "at: ", scalar(localtime($TODAY)), "\n"; } else { for (;;) { print LOG "Unable to make connection with $host\n"; print LOG "Try to reconnect in 5 secs to $host\n"; sleep 5; my $ftp = Net::FTP->new($host, Timeout => 60); if (defined($ftp)) { my $TODAY = time; print LOG "Established ftp with $host\n"; print LOG "at: ", scalar(localtime($TODAY)), "\n"; last; } } } ...}