Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re^4: "open" Best Practices

by haukex (Archbishop)
on Jul 13, 2019 at 09:59 UTC ( [id://11102785]=note: print w/replies, xml ) Need Help??


in reply to Re^3: "open" Best Practices
in thread "open" Best Practices

I agree with everything you've said, and use the operators in the same way myself, with very few exceptions (for example, I might sometimes write if (not ...) instead of unless(...) if it reads better). Consistency is definitely a good thing!

I was just disagreeing with the "never" part - TIMTOWTDI, and function() || ... is valid Perl and sometimes applicable. In the context of the root node, I explicitly included that form because a newcomer might have seen it in other code, and I think it's good to say that it's not wrong, but also not recommended. Anyway, I've edited the root node further to highlight that even more.

(What do you think about if( open($fh, '<', $foo) || open($fh, '<', $bar) )? ;-) )

Replies are listed 'Best First'.
Re^5: "open" Best Practices
by hippo (Bishop) on Jul 13, 2019 at 10:25 UTC
    What do you think about if( open($fh, '<', $foo) || open($fh, '<', $bar)

    Dogfood time? ;-)

    for my $infile ($foo, $bar) { last if open ($fh, '<', $infile); warn "Cannot open '$infile' for reading: $!"; } unless (eof $fh) { ... } else { warn "None of the files could be opened. What a shame."; }

    I take your point though and there it's arguable whether on not it's control flow. I would not object to either || or or in such a situation.

Re^5: "open" Best Practices
by Anonymous Monk on Jul 13, 2019 at 22:04 UTC

    eyepopslikeamosquito open() ... I was just disagreeing with the "never" part - TIMTOWTDI, ... is valid Perl

    Hi, Obfuscated Code is valid perl, but its obvioulsy not employable style.

    Using open()|| is less obvious, but still a shibboleth

Log In?
Username:
Password:

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

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

    No recent polls found