my $DEBUG; BEGIN { $DEBUG = $ARGV[0]; if ($DEBUG) { eval <<'__EOI__'; use strict; # <-- The compiler instance used # by eval is here because # Perl executes use statements # as soon as it compiles them. # "strict" will work until the # end of this block (namely # until the end of the code # passed to eval). __EOI__ } } print($test); # No strict error