in reply to Trapping errors from NET::Ftp
sub check_net_err{
my $net=shift;
if(!defined $net){
die "Net:: object not defined $!";
}else{
if((!$net->ok())||($net->code() >= 400)){
die "Net:: error ".$net->code()." : ".$net->message();
}
}
}
you can use it like this:
$ftp = Net::FTP->new($hostname);
check_net_error($ftp);
$ftp->login("anonymous","metar\@speedfreak.com");
check_net_error($ftp);
$ftp->get($path.$station.".TXT", $datapath.$station.".TXT");
check_net_error($ftp);
$ftp->quit;
check_net_error($ftp);
of course, you can strip down the code, and put it inline in a different format for when you want to handle errors differently (i.e. you want to die if you can't connect, but if the "get" times out you may want to retry it).
|
|---|