1N/ACheck lexical warnings functionality
1N/A
1N/ATODO
1N/A check that the warning hierarchy works.
1N/A
1N/A__END__
1N/A
1N/A# check illegal category is caught
1N/Ause warnings 'this-should-never-be-a-warning-category' ;
1N/AEXPECT
1N/AUnknown warnings category 'this-should-never-be-a-warning-category' at - line 3
1N/ABEGIN failed--compilation aborted at - line 3.
1N/A########
1N/A
1N/A# Check compile time scope of pragma
1N/Ause warnings 'syntax' ;
1N/A{
1N/A no warnings ;
1N/A my $a =+ 1 ;
1N/A}
1N/Amy $a =+ 1 ;
1N/AEXPECT
1N/AReversed += operator at - line 8.
1N/A########
1N/A
1N/A# Check compile time scope of pragma
1N/Ano warnings;
1N/A{
1N/A use warnings 'syntax' ;
1N/A my $a =+ 1 ;
1N/A}
1N/Amy $a =+ 1 ;
1N/AEXPECT
1N/AReversed += operator at - line 6.
1N/A########
1N/A
1N/A# Check runtime scope of pragma
1N/Ause warnings 'uninitialized' ;
1N/A{
1N/A no warnings ;
1N/A my $b ; chop $b ;
1N/A}
1N/Amy $b ; chop $b ;
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at - line 8.
1N/A########
1N/A
1N/A# Check runtime scope of pragma
1N/Ano warnings ;
1N/A{
1N/A use warnings 'uninitialized' ;
1N/A my $b ; chop $b ;
1N/A}
1N/Amy $b ; chop $b ;
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at - line 6.
1N/A########
1N/A
1N/A# Check runtime scope of pragma
1N/Ano warnings ;
1N/A{
1N/A use warnings 'uninitialized' ;
1N/A $a = sub { my $b ; chop $b ; }
1N/A}
1N/A&$a ;
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at - line 6.
1N/A########
1N/A
1N/Ause warnings 'syntax' ;
1N/Amy $a =+ 1 ;
1N/AEXPECT
1N/AReversed += operator at - line 3.
1N/A########
1N/A
1N/A--FILE-- abc
1N/Amy $a =+ 1 ;
1N/A1;
1N/A--FILE--
1N/Ause warnings 'syntax' ;
1N/Arequire "./abc";
1N/AEXPECT
1N/A
1N/A########
1N/A
1N/A--FILE-- abc
1N/Ause warnings 'syntax' ;
1N/A1;
1N/A--FILE--
1N/Arequire "./abc";
1N/Amy $a =+ 1 ;
1N/AEXPECT
1N/A
1N/A########
1N/A
1N/A--FILE-- abc
1N/Ause warnings 'syntax' ;
1N/Amy $a =+ 1 ;
1N/A1;
1N/A--FILE--
1N/Ause warnings 'uninitialized' ;
1N/Arequire "./abc";
1N/Amy $a ; chop $a ;
1N/AEXPECT
1N/AReversed += operator at ./abc line 2.
1N/AUse of uninitialized value in scalar chop at - line 3.
1N/A########
1N/A
1N/A--FILE-- abc.pm
1N/Ause warnings 'syntax' ;
1N/Amy $a =+ 1 ;
1N/A1;
1N/A--FILE--
1N/Ause warnings 'uninitialized' ;
1N/Ause abc;
1N/Amy $a ; chop $a ;
1N/AEXPECT
1N/AReversed += operator at abc.pm line 2.
1N/AUse of uninitialized value in scalar chop at - line 3.
1N/A########
1N/A
1N/A# Check scope of pragma with eval
1N/Ause warnings;
1N/A{
1N/A no warnings ;
1N/A eval {
1N/A my $b ; chop $b ;
1N/A }; print STDERR $@ ;
1N/A my $b ; chop $b ;
1N/A}
1N/AEXPECT
1N/A
1N/A########
1N/A
1N/A# Check scope of pragma with eval
1N/Ause warnings;
1N/A{
1N/A no warnings ;
1N/A eval {
1N/A use warnings 'uninitialized' ;
1N/A my $b ; chop $b ;
1N/A }; print STDERR $@ ;
1N/A my $b ; chop $b ;
1N/A}
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at - line 8.
1N/A########
1N/A
1N/A# Check scope of pragma with eval
1N/Ano warnings;
1N/A{
1N/A use warnings 'uninitialized' ;
1N/A eval {
1N/A my $b ; chop $b ;
1N/A }; print STDERR $@ ;
1N/A my $b ; chop $b ;
1N/A}
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at - line 7.
1N/AUse of uninitialized value in scalar chop at - line 9.
1N/A########
1N/A
1N/A# Check scope of pragma with eval
1N/Ano warnings;
1N/A{
1N/A use warnings 'uninitialized' ;
1N/A eval {
1N/A no warnings ;
1N/A my $b ; chop $b ;
1N/A }; print STDERR $@ ;
1N/A my $b ; chop $b ;
1N/A}
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at - line 10.
1N/A########
1N/A
1N/A# Check scope of pragma with eval
1N/Ause warnings;
1N/A{
1N/A no warnings ;
1N/A eval {
1N/A my $a =+ 1 ;
1N/A }; print STDERR $@ ;
1N/A my $a =+ 1 ;
1N/A}
1N/AEXPECT
1N/A
1N/A########
1N/A
1N/A# Check scope of pragma with eval
1N/Ause warnings;
1N/A{
1N/A no warnings ;
1N/A eval {
1N/A use warnings 'syntax' ;
1N/A my $a =+ 1 ;
1N/A }; print STDERR $@ ;
1N/A my $a =+ 1 ;
1N/A}
1N/AEXPECT
1N/AReversed += operator at - line 8.
1N/A########
1N/A
1N/A# Check scope of pragma with eval
1N/Ano warnings;
1N/A{
1N/A use warnings 'syntax' ;
1N/A eval {
1N/A my $a =+ 1 ;
1N/A }; print STDERR $@ ;
1N/A my $a =+ 1 ;
1N/A}
1N/AEXPECT
1N/AReversed += operator at - line 7.
1N/AReversed += operator at - line 9.
1N/A########
1N/A
1N/A# Check scope of pragma with eval
1N/Ano warnings;
1N/A{
1N/A use warnings 'syntax' ;
1N/A eval {
1N/A no warnings ;
1N/A my $a =+ 1 ;
1N/A }; print STDERR $@ ;
1N/A my $a =+ 1 ;
1N/A}
1N/AEXPECT
1N/AReversed += operator at - line 10.
1N/A########
1N/A
1N/A# Check scope of pragma with eval
1N/Ause warnings;
1N/A{
1N/A no warnings ;
1N/A eval '
1N/A my $b ; chop $b ;
1N/A '; print STDERR $@ ;
1N/A my $b ; chop $b ;
1N/A}
1N/AEXPECT
1N/A
1N/A########
1N/A
1N/A# Check scope of pragma with eval
1N/Ause warnings;
1N/A{
1N/A no warnings ;
1N/A eval q[
1N/A use warnings 'uninitialized' ;
1N/A my $b ; chop $b ;
1N/A ]; print STDERR $@;
1N/A my $b ; chop $b ;
1N/A}
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at (eval 1) line 3.
1N/A########
1N/A
1N/A# Check scope of pragma with eval
1N/Ano warnings;
1N/A{
1N/A use warnings 'uninitialized' ;
1N/A eval '
1N/A my $b ; chop $b ;
1N/A '; print STDERR $@ ;
1N/A my $b ; chop $b ;
1N/A}
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at (eval 1) line 2.
1N/AUse of uninitialized value in scalar chop at - line 9.
1N/A########
1N/A
1N/A# Check scope of pragma with eval
1N/Ano warnings;
1N/A{
1N/A use warnings 'uninitialized' ;
1N/A eval '
1N/A no warnings ;
1N/A my $b ; chop $b ;
1N/A '; print STDERR $@ ;
1N/A my $b ; chop $b ;
1N/A}
1N/AEXPECT
1N/AUse of uninitialized value in scalar chop at - line 10.
1N/A########
1N/A
1N/A# Check scope of pragma with eval
1N/Ause warnings;
1N/A{
1N/A no warnings ;
1N/A eval '
1N/A my $a =+ 1 ;
1N/A '; print STDERR $@ ;
1N/A my $a =+ 1 ;
1N/A}
1N/AEXPECT
1N/A
1N/A########
1N/A
1N/A# Check scope of pragma with eval
1N/Ause warnings;
1N/A{
1N/A no warnings ;
1N/A eval q[
1N/A use warnings 'syntax' ;
1N/A my $a =+ 1 ;
1N/A ]; print STDERR $@;
1N/A my $a =+ 1 ;
1N/A}
1N/AEXPECT
1N/AReversed += operator at (eval 1) line 3.
1N/A########
1N/A
1N/A# Check scope of pragma with eval
1N/Ano warnings;
1N/A{
1N/A use warnings 'syntax' ;
1N/A eval '
1N/A my $a =+ 1 ;
1N/A '; print STDERR $@;
1N/A my $a =+ 1 ;
1N/A}
1N/AEXPECT
1N/AReversed += operator at - line 9.
1N/AReversed += operator at (eval 1) line 2.
1N/A########
1N/A
1N/A# Check scope of pragma with eval
1N/Ano warnings;
1N/A{
1N/A use warnings 'syntax' ;
1N/A eval '
1N/A no warnings ;
1N/A my $a =+ 1 ;
1N/A '; print STDERR $@;
1N/A my $a =+ 1 ;
1N/A}
1N/AEXPECT
1N/AReversed += operator at - line 10.
1N/A########
1N/A
1N/A# Check the additive nature of the pragma
1N/Amy $a =+ 1 ;
1N/Amy $a ; chop $a ;
1N/Ause warnings 'syntax' ;
1N/A$a =+ 1 ;
1N/Amy $b ; chop $b ;
1N/Ause warnings 'uninitialized' ;
1N/Amy $c ; chop $c ;
1N/Ano warnings 'syntax' ;
1N/A$a =+ 1 ;
1N/AEXPECT
1N/AReversed += operator at - line 6.
1N/AUse of uninitialized value in scalar chop at - line 9.