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

Re: Spurious "Invalid Argument" on file open

by AnomalousMonk (Chancellor)
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: $!";
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 (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 <>

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1000487]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (3)
As of 2017-11-22 07:42 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (316 votes). Check out past polls.