Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re: How do you use the if pragma?

by LanX (Bishop)
on Apr 08, 2013 at 21:07 UTC ( #1027598=note: print w/replies, xml ) Need Help??

in reply to How do you use the if pragma?

> How would I use it?

how to use super search to find code:

search 'use if' with single quote as string separator (click search !!!)

> Since this is a pragma, it's executed before anything in my code, so I can't use variables or constants as a condition:

Wrong, since use constant is a pragma itself, and of course order matters.

see this example of defining a constant VERBOSE to control following use statements.

--> Re: Redefining Imported Subs: of scope and no

update: variables

But TIMTOWTDI, see BEGIN for a dynamic way to define variables at start up.

use strict; use warnings; my $VERBOSE; BEGIN {$VERBOSE=1 } use if $VERBOSE, feature => "say"; say "bla";
update: functions

or even better define a sub, functions are evaluated at first compilation pass.

The following code will die in one out of two cases!

(just in case if you wanna leave your employer a hard to debug problem =)

use strict; use warnings; sub VERBOSE { int rand 2} use if VERBOSE, feature => "say"; say "bla";

Cheers Rolf

( addicted to the Perl Programming Language)

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (5)
As of 2018-06-25 00:52 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (126 votes). Check out past polls.