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

Re^4: Burned by precedence rules

by GrandFather (Sage)
on Dec 26, 2008 at 20:45 UTC ( #732705=note: print w/replies, xml ) Need Help??

in reply to Re^3: Burned by precedence rules
in thread Burned by precedence rules

I absolutly agree that unless often becomes very confusing with more than one element in the condition and almost always use if in that case.

I'm in (southern hemisphere) holiday mode at the moment so my head isn't fully in Perl space. I focused on the two nots rather than the 'and' and actually in the specific case given I think the result conveys the intent better than the if version - no De Morganizing required.

Perl's payment curve coincides with its learning curve.

Replies are listed 'Best First'.
Re^5: Burned by precedence rules
by tilly (Archbishop) on Dec 27, 2008 at 05:59 UTC
    Yes, it reads nicely. But if you're debugging and know the two values, you may be very surprised at what it does. By contrast in that mode you will reliably figure out what the if version does.

    If you can easily run the code this is not so bad, But in my case I was debugging a failure in a batch job that failed after hours of work. In code I hadn't touched in months. Hence my failure to correctly figure out whether the conditional was executed lead to enough pain that I learned my lesson. The if version may not be pretty, but it is just as understandable when coding and a heck of a lot easier to debug. So use it.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (12)
As of 2017-10-18 20:36 GMT
Find Nodes?
    Voting Booth?
    My fridge is mostly full of:

    Results (250 votes). Check out past polls.