Thanks! Changing: my $message = @_; to: my ($message) = @_;
did put the correct value in the string. If anyone cares to explain the difference between the code I had and the code Shishir suggested so I can understand why this makes a difference, I'm all ears! Thanks again, -Ian "Shishir K. Singh" wrote: > >Hello all, > > >What I want to do is simple - if an error occurs on my previous command > >(in this case, making an FTP connection via Net::FTP), I want to send > >the value of $@ to a subroutine which sends an e-mail containing the > >value of $@ in the body. However, it is clear that I don't understand > >what $@ really is. Is it a string? A hash reference? When I simply > >print "$@" after the failed command, I see the error I expect. But when > >I do something like: > > >mailwarning($@) unless $ftp; > > >and the subroutine mailwarning() has: > > my $message = @_; > > >the value of $message is "1". > > Try > > my $message = shift; > or > my ($message) = @_; -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]