Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^3: Does eval cause that much of a performance hit?

by grinder (Bishop)
on May 06, 2009 at 13:38 UTC ( [id://762275]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Does eval cause that much of a performance hit?
in thread Does eval cause that much of a performance hit?

What are the alternatives

An alternative to your alternatives

my $foo = defined($baz) ? $bar : undef;

or, with a sensible default, as an explicit undef is pretty dumb,

my $foo = defined($baz) ? $bar : 0;

This saves at least a nextstate and an assignment, for no loss of readability.

• another intruder with the mooring in the heart of the Perl

Replies are listed 'Best First'.
Re^4: Does eval cause that much of a performance hit?
by BrowserUk (Patriarch) on May 06, 2009 at 13:50 UTC

    I agree with you, except that we've now moved so far from the OPs point: prefer things like a three line if construct than a trailing if., and perrin's response that we're almost on a different subject. 'sides which, the same people that eshew the trailing if also tend to reject the ternary as too complex/confusing/unclear/short.

    as an explicit undef is pretty dumb,

    I'm not sure where you saw the explicit undef?


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

      I don't think the topic has drifted.

      The point I wanted to make was that a ternary conditional is a viable alternative to introducing a scope (a 3-line if), if statement modifiers are not favoured by local shop practices. (Which is a reasonable edict, even if I don't agree with it myself).

      I'm not sure where you saw the explicit undef?

      There was none. It came about in my snippet from employing a ternary, which requires one to put something "in the else" part.

      • another intruder with the mooring in the heart of the Perl

Log In?
Username:
Password:

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

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

    No recent polls found