Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Spurious "Invalid Argument" on file open

by AnomalousMonk (Archbishop)
on Oct 23, 2012 at 14:52 UTC ( [id://1000487]=note: print w/replies, xml ) Need Help??


in reply to Spurious "Invalid Argument" on file open

Hi rovf.
This question arises solely from idle curiosity and has no bearing on your problem. I was wondering why you use the
    if (open ...) { process... } else { die "error: $!" }
file open and process construct given in your OP rather than the less verbose and, IMHO, cleaner  open ... die "..."; idiomatic construct?

I notice something similar in bioinformatics applications, where something like
    unless (open ...) {
        print STDERR "error message: $!";
        exit;
        }
is often seen. I could understand if the exit built-in was used to return a distinctive error code to the OS, but I only seem to see  exit; (returning no error code) or  exit(1); used. Anyone have any notions on the rationale of this idiom?

Again, just idle curiosity here.

Replies are listed 'Best First'.
Re^2: Spurious "Invalid Argument" on file open
by parv (Parson) on Oct 23, 2012 at 15:05 UTC

    (I was under the mistaken impression that without a number given, exit returns with exit code of previous command. After reading the exit pod,) exit will return with 0 in case of second example.

    I would say unfamiliarity of the shorter version might be the reason for the verbose code. Also, exit cannot simply be caught in eval {}; unlike die or croak but I doubt that that would be the reason for cited uses of exit.

Re^2: Spurious "Invalid Argument" on file open
by rovf (Priest) on Oct 24, 2012 at 08:50 UTC
    The code posted here, was a condensed version, to focus on the problem in question. In my realy code, the else branch contains other cleanup code, which is, however, not relevant to our problem.

    -- 
    Ronald Fischer <ynnor@mm.st>

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (3)
As of 2024-04-19 21:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found