Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Spurious "Invalid Argument" on file open

by AnomalousMonk (Abbot)
on Oct 23, 2012 at 14:52 UTC ( #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.


Comment on Re: Spurious "Invalid Argument" on file open
Select or Download Code
Re^2: Spurious "Invalid Argument" on file open
by parv (Priest) 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
Node Status?
node history
Node Type: note [id://1000487]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (11)
As of 2014-10-22 22:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (122 votes), past polls