> > the || do lines in the ftp section > with a routine call to? : > > my $olddie = $SIG{__DIE__}; > $SIG{__DIE__} = sub { > my $error = shift; > $olddie->{$error} if ref $olddie; > mailme($error); > #other error stuff here > }; > snip
No, that defines the override of the default behavior of the die() command (see perldoc -f die). The "|| do { blah };" turns into "or die 'message';" You put all of the "blah" code in the override. *********************************************************************************************************** *********************************************************************************************************** ok I read the perldoc and this seems to be the ideal way, but when any condition fails, meaning a connection fails, a login fails or a cwd fails I want to update the log with the appropriate message for each failed condition. Using this ONE way your way will not do this for me instead I will have to write THREE of these blocks once for each failure... UNLESS I can put an if in this routine like so: my $olddie = $SIG{__DIE__}; $SIG{__DIE__} = sub { my $error = shift; $olddie->{$error} if ref $olddie; #other error stuff as below if ($RC == 0) { print FTPLOG message about connection mailme($error); } elif { ($RC == 1) { print FTPLOG message about login mailme($error); } else { ($RC == 2) { print FTPLOG message about cwd mailme($error); }; Here would be the ftp calls my $ftp = Net::FTP->new($remotehost, Debug => 10) or die "Cannot connect to $remotehost: $!", my $RC=0; $ftp->login($user, $passs ) or die "Login failed $!", my $RC=1; $ftp->cwd ($remotedir) or die "CWD failed $!", my $RC=2 Does this make sense logically? thanks again, derek Derek B. Smith OhioHealth IT UNIX / TSM / EDM Teams -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>