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


in reply to Net::FTP problems

Is there a way to trap the Net::FTP error message before find myself in the operating system so that I can act on it?

For this you can use the eval function to trap fatal errors from Net::FTP functions.

Is there a way to make my own timeout function?

For this you will want to have a read through the alarm function and the perlipc documentation.

For example:

my $retrieval = undef; my $timeout = 120; eval { local $SIG{'ALRM'} = sub { die 'timeout' }; alarm $timeout; $retrieval = $ftp->get($remote_file, $local_file); alarm 0; }; if ($@) { if ($@ =~ /timeout/) { } }

 

perl -le "print+unpack'N',pack'B32','00000000000000000000001010100001'"

Replies are listed 'Best First'.
Re: Re: Net::FTP problems
by panaman (Acolyte) on Dec 30, 2003 at 11:19 UTC
    Thank for your good answer, it helps. the "eval" seems to have stopped the being tossed into the OS. I am going to move this app over to a linux box since I have discovered that windows does not do signal proccessing acording to the perldocs. thanks