Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: turn off strict for production code

by tomhukins (Curate)
on Sep 12, 2005 at 15:41 UTC ( #491294=note: print w/replies, xml ) Need Help??

in reply to turn off strict for production code

Others have suggested using the if pragma. If you prefer to avoid installing anything new, try:

eval 'use strict' if ($condition);

Update: As halley points out, this won't work for pragmas, such as strict, only for modules.

Replies are listed 'Best First'.
Re^2: turn off strict for production code
by halley (Prior) on Sep 12, 2005 at 16:10 UTC
    Except that doesn't actually work. It turns on the strict rules for the rest of the string you're evaluating, but that's it.
    % perl use strict; $x = 1; print $x,$/; ^D Global symbol "$x" requires explicit package name at - line 2. Global symbol "$x" requires explicit package name at - line 3. Execution of - aborted due to compilation errors. % perl eval 'use strict' if 1; $x = 1; print $x,$/; ^D 1
    By convention, the all-lowercase modules like strict, warnings, if, and utf8 are pragma declarations. They change the rules of Perl as a language. You should expect that they work through magic, and they produce results which are magical. Typically, they are not just "build up a symbol table and call import()" like all the other modules.

    [ e d @ h a l l e y . c c ]

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://491294]
WinnieB bows, falls over, and tries to stand up again

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (9)
As of 2017-03-30 06:46 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (353 votes). Check out past polls.