my $DEBUG; BEGIN { $DEBUG = $ARGV[0]; } use if $DEBUG, 'strict'; # <-- The compiler 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 file). print($test); # strict error if $DEBUG