4lint revision 7c478bd95313f5f23a4c958a745db2134aa03244
Check lint
__END__
-W
# lint: check compile time $^W is zapped
BEGIN { $^W = 0 ;}
$a = $b = 1 ;
$a = 1 if $a EQ $b ;
close STDIN ; print STDIN "abc" ;
EXPECT
Use of EQ is deprecated at - line 5.
print() on closed filehandle STDIN at - line 6.
########
-W
# lint: check runtime $^W is zapped
$^W = 0 ;
close STDIN ; print STDIN "abc" ;
EXPECT
print() on closed filehandle STDIN at - line 4.
########
-W
# lint: check runtime $^W is zapped
{
$^W = 0 ;
close STDIN ; print STDIN "abc" ;
}
EXPECT
print() on closed filehandle STDIN at - line 5.
########
-W
# lint: check "no warnings" is zapped
no warnings ;
$a = $b = 1 ;
$a = 1 if $a EQ $b ;
close STDIN ; print STDIN "abc" ;
EXPECT
Use of EQ is deprecated at - line 5.
print() on closed filehandle STDIN at - line 6.
########
-W
# lint: check "no warnings" is zapped
{
no warnings ;
close STDIN ; print STDIN "abc" ;
}
EXPECT
print() on closed filehandle STDIN at - line 5.
########
-Ww
# lint: check combination of -w and -W
{
$^W = 0 ;
close STDIN ; print STDIN "abc" ;
}
EXPECT
print() on closed filehandle STDIN at - line 5.
########
-W
--FILE-- abc.pm
no warnings 'deprecated' ;
my ($a, $b) = (0,0);
1 if $a EQ $b ;
1;
--FILE--
no warnings 'uninitialized' ;
use abc;
my $a ; chop $a ;
EXPECT
Use of EQ is deprecated at abc.pm line 3.
Use of uninitialized value in scalar chop at - line 3.
########
-W
--FILE-- abc
no warnings 'deprecated' ;
my ($a, $b) = (0,0);
1 if $a EQ $b ;
1;
--FILE--
no warnings 'uninitialized' ;
require "./abc";
my $a ; chop $a ;
EXPECT
Use of EQ is deprecated at ./abc line 3.
Use of uninitialized value in scalar chop at - line 3.
########
-W
--FILE-- abc.pm
BEGIN {$^W = 0}
my ($a, $b) = (0,0);
1 if $a EQ $b ;
1;
--FILE--
$^W = 0 ;
use abc;
my $a ; chop $a ;
EXPECT
Use of EQ is deprecated at abc.pm line 3.
Use of uninitialized value in scalar chop at - line 3.
########
-W
--FILE-- abc
BEGIN {$^W = 0}
my ($a, $b) = (0,0);
1 if $a EQ $b ;
1;
--FILE--
$^W = 0 ;
require "./abc";
my $a ; chop $a ;
EXPECT
Use of EQ is deprecated at ./abc line 3.
Use of uninitialized value in scalar chop at - line 3.
########
-W
# Check scope of pragma with eval
{
no warnings ;
eval '
my $b ; chop $b ;
'; print STDERR $@ ;
my $b ; chop $b ;
}
EXPECT
Use of uninitialized value in scalar chop at (eval 1) line 2.
Use of uninitialized value in scalar chop at - line 8.
########
-W
# Check scope of pragma with eval
use warnings;
{
no warnings ;
eval q[
use warnings 'uninitialized' ;
my $b ; chop $b ;
]; print STDERR $@;
my $b ; chop $b ;
}
EXPECT
Use of uninitialized value in scalar chop at (eval 1) line 3.
Use of uninitialized value in scalar chop at - line 10.
########
-W
# Check scope of pragma with eval
no warnings;
{
use warnings 'uninitialized' ;
eval '
my $b ; chop $b ;
'; print STDERR $@ ;
my $b ; chop $b ;
}
EXPECT
Use of uninitialized value in scalar chop at (eval 1) line 2.
Use of uninitialized value in scalar chop at - line 9.
########
-W
# Check scope of pragma with eval
no warnings;
{
use warnings 'uninitialized' ;
eval '
no warnings ;
my $b ; chop $b ;
'; print STDERR $@ ;
my $b ; chop $b ;
}
EXPECT
Use of uninitialized value in scalar chop at (eval 1) line 3.
Use of uninitialized value in scalar chop at - line 10.
########
-W
# Check scope of pragma with eval
use warnings;
{
my $a = "1"; my $b = "2";
no warnings ;
eval q[
use warnings 'deprecated' ;
1 if $a EQ $b ;
]; print STDERR $@;
1 if $a EQ $b ;
}
EXPECT
Use of EQ is deprecated at - line 11.
Use of EQ is deprecated at (eval 1) line 3.
########
-W
# Check scope of pragma with eval
no warnings;
{
my $a = "1"; my $b = "2";
use warnings 'deprecated' ;
eval '
1 if $a EQ $b ;
'; print STDERR $@;
1 if $a EQ $b ;
}
EXPECT
Use of EQ is deprecated at - line 10.
Use of EQ is deprecated at (eval 1) line 2.
########
-W
# Check scope of pragma with eval
no warnings;
{
my $a = "1"; my $b = "2";
use warnings 'deprecated' ;
eval '
no warnings ;
1 if $a EQ $b ;
'; print STDERR $@;
1 if $a EQ $b ;
}
EXPECT
Use of EQ is deprecated at - line 11.
Use of EQ is deprecated at (eval 1) line 3.