1N/ACheck existing $^W functionality
1N/A
1N/A
1N/A__END__
1N/A
1N/A# warnable code, warnings disabled
1N/A$a =+ 3 ;
1N/AEXPECT
1N/A
1N/A########
1N/A-w
1N/A# warnable code, warnings enabled via command line switch
1N/A$a =+ 3 ;
1N/AEXPECT
1N/AReversed += operator at - line 3.
1N/AName "main::a" used only once: possible typo at - line 3.
1N/A########
1N/A#! perl -w
1N/A# warnable code, warnings enabled via #! line
1N/A$a =+ 3 ;
1N/AEXPECT
1N/AReversed += operator at - line 3.
1N/AName "main::a" used only once: possible typo at - line 3.
1N/A########
1N/A
1N/A# warnable code, warnings enabled via compile time $^W
1N/ABEGIN { $^W = 1 }
1N/A$a =+ 3 ;
1N/AEXPECT
1N/AReversed += operator at - line 4.
1N/AName "main::a" used only once: possible typo at - line 4.
1N/A########
1N/A
1N/A# compile-time warnable code, warnings enabled via runtime $^W
1N/A# so no warning printed.
1N/A$^W = 1 ;
1N/A$a =+ 3 ;
1N/AEXPECT
1N/A
1N/A########
1N/A
1N/A# warnable code, warnings enabled via runtime $^W
1N/A$^W = 1 ;
1N/Amy $b ; chop $b ;
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at - line 4.
1N/A########
1N/A
1N/A# warnings enabled at compile time, disabled at run time
1N/ABEGIN { $^W = 1 }
1N/A$^W = 0 ;
1N/Amy $b ; chop $b ;
1N/AEXPECT
1N/A
1N/A########
1N/A
1N/A# warnings disabled at compile time, enabled at run time
1N/ABEGIN { $^W = 0 }
1N/A$^W = 1 ;
1N/Amy $b ; chop $b ;
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at - line 5.
1N/A########
1N/A-w
1N/A--FILE-- abcd
1N/Amy $b ; chop $b ;
1N/A1 ;
1N/A--FILE--
1N/Arequire "./abcd";
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at ./abcd line 1.
1N/A########
1N/A
1N/A--FILE-- abcd
1N/Amy $b ; chop $b ;
1N/A1 ;
1N/A--FILE--
1N/A#! perl -w
1N/Arequire "./abcd";
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at ./abcd line 1.
1N/A########
1N/A
1N/A--FILE-- abcd
1N/Amy $b ; chop $b ;
1N/A1 ;
1N/A--FILE--
1N/A$^W =1 ;
1N/Arequire "./abcd";
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at ./abcd line 1.
1N/A########
1N/A
1N/A--FILE-- abcd
1N/A$^W = 0;
1N/Amy $b ; chop $b ;
1N/A1 ;
1N/A--FILE--
1N/A$^W =1 ;
1N/Arequire "./abcd";
1N/AEXPECT
1N/A
1N/A########
1N/A
1N/A--FILE-- abcd
1N/A$^W = 1;
1N/A1 ;
1N/A--FILE--
1N/A$^W =0 ;
1N/Arequire "./abcd";
1N/Amy $b ; chop $b ;
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at - line 3.
1N/A########
1N/A
1N/A$^W = 1;
1N/Aeval 'my $b ; chop $b ;' ;
1N/Aprint $@ ;
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at (eval 1) line 1.
1N/A########
1N/A
1N/Aeval '$^W = 1;' ;
1N/Aprint $@ ;
1N/Amy $b ; chop $b ;
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at - line 4.
1N/A########
1N/A
1N/Aeval {$^W = 1;} ;
1N/Aprint $@ ;
1N/Amy $b ; chop $b ;
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at - line 4.
1N/A########
1N/A
1N/A{
1N/A local ($^W) = 1;
1N/A}
1N/Amy $b ; chop $b ;
1N/AEXPECT
1N/A
1N/A########
1N/A
1N/Amy $a ; chop $a ;
1N/A{
1N/A local ($^W) = 1;
1N/A my $b ; chop $b ;
1N/A}
1N/Amy $c ; chop $c ;
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at - line 5.
1N/A########
1N/A-w
1N/A-e undef
1N/AEXPECT
1N/AUse of uninitialized value in -e at - line 2.
1N/A########
1N/A
1N/A$^W = 1 + 2 ;
1N/AEXPECT
1N/A
1N/A########
1N/A
1N/A$^W = $a ;
1N/AEXPECT
1N/A
1N/A########
1N/A
1N/Asub fred {}
1N/A$^W = fred() ;
1N/AEXPECT
1N/A
1N/A########
1N/A
1N/Asub fred { my $b ; chop $b ;}
1N/A{ local $^W = 0 ;
1N/A fred() ;
1N/A}
1N/AEXPECT
1N/A
1N/A########
1N/A
1N/Asub fred { my $b ; chop $b ;}
1N/A{ local $^W = 1 ;
1N/A fred() ;
1N/A}
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at - line 2.