On 1/27/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: snip > Thanks Jay for the hopefully final wrap up to the uninteded long email > thread. This was a good thing however b/c > I learned something new in this wonderful thing called Perl. > I agree and it make sense to use $SIG{__DIE__} for obvious reasons. > But in my test code I am getting "Useless use of hash element in void > context at line 30." > which is the line that has the $overide->{$error}. But when I comment > out the mailme call I do not get this warning. > > #!/usr/bin/perl > use strict; > use warnings; > > > sub mailme { > > my $sub = shift;
why aren't you using $sub (which I would rename $message or $error) in the body of the message? > my $msg = MIME::Lite->new( > From => 'pshrapprd <[EMAIL PROTECTED]>', > To => 'Derek Smith <[EMAIL PROTECTED]>', > Subject => 'HRIS FTP Inbound to monster.com had > problems and or failed!', > Type => 'multipart/related'); > > #$msg->attach( > #Type => 'TEXT', > #Disposition => 'attachment', > #Path => "$ftplog", > #Filename => "$ftplog"); > $msg->send; > } > > > > > my $overide = $SIG{__DIE__}; ## get error handler currently assigned to > die() > $SIG{__DIE__} = sub { > my $error = shift; $override is a coderef, not a hashref. That is if it is set at all. If no handler has been previously registered with __DIE__ then it will be blank. That is why there is a ref check. Your problem is that you are using curly braces {} instead of parentheses (). > $overide->{$error} if (ref $overide); > mailme($error); > }; > > open (LOG, "+</var/log/derek") or die "Was unable to open file: $!"; > close (LOG); -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>