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

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]
NodeReaper suddenly falls through the false ceiling

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (7)
As of 2018-02-24 16:33 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (310 votes). Check out past polls.