1#!./perl 2 3BEGIN { 4 chdir 't' if -d 't'; 5 @INC = '../lib'; 6} 7 8use Test::More tests => 6; 9 10my $v_plus = $] + 1; 11my $v_minus = $] - 1; 12 13 14ok( eval "use if ($v_minus > \$]), strict => 'subs'; \${'f'} = 12" eq 12, 15 '"use if" with a false condition, fake pragma'); 16 17ok( eval "use if ($v_minus > \$]), strict => 'refs'; \${'f'} = 12" eq 12, 18 '"use if" with a false condition and a pragma'); 19 20ok( eval "use if ($v_plus > \$]), strict => 'subs'; \${'f'} = 12" eq 12, 21 '"use if" with a true condition, fake pragma'); 22 23ok( (not defined eval "use if ($v_plus > \$]), strict => 'refs'; \${'f'} = 12" 24 and $@ =~ /while "strict refs" in use/), 25 '"use if" with a true condition and a pragma'); 26 27ok( eval "use if 1, Cwd; cwd() || 1;", 28 '"use if" with a true condition, module, no arguments, exports'); 29 30ok( eval "use if qw/ 1 if 1 strict subs /; \${'f'} = 12" eq 12, 31 '"use if" with a module named after keyword'); 32