Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Conditional style (if, &&) query

by Hutta (Scribe)
on Oct 17, 2001 at 06:01 UTC ( [id://119306]=note: print w/replies, xml ) Need Help??


in reply to Conditional style (if, &&) query

I tend to only use the first option in the following situation

$debug && print "Some debugging output.\n";
Works for me because I see the "$debug" and mentally disregard that line from the regular functionality of the code.

print "Some debugging output.\n" if $debug;
...doesn't stand out as much as debugging because I tend to scan code down the left side.

if ($debug) { print "Some debugging output.\n"; }
...that way just eats up way too much room when there's a lot of debugging output.

And of course these are all for smaller scripts where a more complete debugging output solution isn't needed.

Replies are listed 'Best First'.
Re: Re: Conditional style (if, &&) query
by Hofmator (Curate) on Oct 17, 2001 at 14:47 UTC

    Good point you make here but let me mention one thing in the context of debugging in this way. If you make $debug a constant then you don't get any runtime speed penalty for these kind of tests. They are optimised away at compile time:

    use constant DEBUG => 1; DEBUG && print "printing debug info...\n"; print "printing other info ...\n";

    Of course, you no longer have the option of specifiying your debug level on the command line. Sean M. Burke has a nice article about constants in perl (including this usage) here at The Perl Journal. We also had some discussion about that topic here at PM, e.g. in inlined DEBUG constant versus $DEBUG.

    -- Hofmator

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (3)
As of 2024-04-19 17:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found