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

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]
and dust plays in a shaft of sunlight...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (7)
As of 2017-03-25 08:52 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (311 votes). Check out past polls.