Beefy Boxes and Bandwidth Generously Provided by pair Networks Bob
go ahead... be a heretic
 
PerlMonks  

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.


Comment on Re: turn off strict for production code
Download Code
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?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (20)
As of 2014-04-17 16:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (453 votes), past polls