Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^2: VB "On Error" Equivalent in Perl

by erroneousBollock (Curate)
on Nov 29, 2007 at 01:28 UTC ( #653737=note: print w/ replies, xml ) Need Help??


in reply to Re: VB "On Error" Equivalent in Perl
in thread VB "On Error" Equivalent in Perl

eval { $ftp = Net::FTP->new("some.host.name", Debug => 0) or die "Cannot connect to some.host.name: $@"; last TRY; }
I'm curious about your use of $@ om the second line of the eval. How would $@ be set without causing an exception that would throw control outside the eval?

If the die "Cannot ..." ever occurs, wouldn't $@ be empty?

Surely $@ is only useful outside the eval?

Also, eval {} is a statement and should be followed by a semicolon if further statements are to follow in the current block. Your code doesn't compile.

-David


Comment on Re^2: VB "On Error" Equivalent in Perl
Select or Download Code
Re^3: VB "On Error" Equivalent in Perl
by wind (Priest) on Nov 29, 2007 at 01:41 UTC
    That is explained in the documentation for Net::FTP.
    If the constructor fails undef will be returned and an error message will be in $@.
    All other Net::FTP methods save their error message in $ftp->message.

    I've also sometimes wondered about the logic of this. Nevertheless, that's the way it is.

    - Miller

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://653737]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2014-07-13 15:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (250 votes), past polls