1#!./perl 2 3BEGIN { 4 chdir 't' if -d 't'; 5 require './test.pl'; 6 @INC = qw(lib ../lib); 7 plan(tests => 14); 8} 9 10use strict; 11use warnings; 12 13use mypragma (); # don't enable this pragma yet 14 15BEGIN { 16 is($^H{mypragma}, undef, "Shouldn't be in %^H yet"); 17} 18 19is(mypragma::in_effect(), undef, "pragma not in effect yet"); 20{ 21 is(mypragma::in_effect(), undef, "pragma not in effect yet"); 22 eval qq{is(mypragma::in_effect(), undef, "pragma not in effect yet"); 1} 23 or die $@; 24 25 use mypragma; 26 use Sans_mypragma; 27 is(mypragma::in_effect(), 42, "pragma is in effect within this block"); 28 is(Sans_mypragma::affected(), undef, 29 "pragma not in effect outside this file"); 30 eval qq{is(mypragma::in_effect(), 42, 31 "pragma is in effect within this eval"); 1} or die $@; 32 33 { 34 no mypragma; 35 is(mypragma::in_effect(), 0, "pragma no longer in effect"); 36 eval qq{is(mypragma::in_effect(), 0, "pragma no longer in effect"); 1} 37 or die $@; 38 } 39 40 is(mypragma::in_effect(), 42, "pragma is in effect within this block"); 41 eval qq{is(mypragma::in_effect(), 42, 42 "pragma is in effect within this eval"); 1} or die $@; 43} 44is(mypragma::in_effect(), undef, "pragma no longer in effect"); 45eval qq{is(mypragma::in_effect(), undef, "pragma not in effect"); 1} or die $@; 46 47 48BEGIN { 49 is($^H{mypragma}, undef, "Should no longer be in %^H"); 50} 51