syntax anti-lint
__END__
-X
# nolint: check compile time $^W is zapped
BEGIN { $^W = 1 ;}
$a = $b = 1 ;
$a =+ 1 ;
close STDIN ; print STDIN "abc" ;
EXPECT
########
-X
# nolint: check runtime $^W is zapped
$^W = 1 ;
close STDIN ; print STDIN "abc" ;
EXPECT
########
-X
# nolint: check runtime $^W is zapped
{
$^W = 1 ;
close STDIN ; print STDIN "abc" ;
}
EXPECT
########
-X
# nolint: check "no warnings" is zapped
use warnings ;
$a = $b = 1 ;
$a =+ 1 ;
close STDIN ; print STDIN "abc" ;
EXPECT
########
-X
# nolint: check "no warnings" is zapped
{
use warnings ;
close STDIN ; print STDIN "abc" ;
}
EXPECT
########
-Xw
# nolint: check combination of -w and -X
{
$^W = 1 ;
close STDIN ; print STDIN "abc" ;
}
EXPECT
########
-X
--FILE-- abc.pm
use warnings 'syntax' ;
my $a = 0;
$a =+ 1 ;
1;
--FILE--
use warnings 'uninitialized' ;
use abc;
my $a ; chop $a ;
EXPECT
########
-X
--FILE-- abc
use warnings 'syntax' ;
my $a = 0;
$a =+ 1 ;
1;
--FILE--
use warnings 'uninitialized' ;
require "./abc";
my $a ; chop $a ;
EXPECT
########
-X
--FILE-- abc.pm
BEGIN {$^W = 1}
my ($a, $b) = (0,0);
$a =+ 1 ;
1;
--FILE--
$^W = 1 ;
use abc;
my $a ; chop $a ;
EXPECT
########
-X
--FILE-- abc
BEGIN {$^W = 1}
my ($a, $b) = (0,0);
$a =+ 1 ;
1;
--FILE--
$^W = 1 ;
require "./abc";
my $a ; chop $a ;
EXPECT
########
-X
# Check scope of pragma with eval
use warnings;
{
no warnings ;
eval '
my $b ; chop $b ;
'; print STDERR $@ ;
my $b ; chop $b ;
}
EXPECT
########
-X
# 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
########
-X
# Check scope of pragma with eval
no warnings;
{
use warnings 'uninitialized' ;
eval '
my $b ; chop $b ;
'; print STDERR $@ ;
my $b ; chop $b ;
}
EXPECT
########
-X
# 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
########
-X
# Check scope of pragma with eval
use warnings;
{
no warnings ;
eval '
my $a =+ 1 ;
'; print STDERR $@ ;
my $a =+ 1 ;
}
EXPECT
########
-X
# Check scope of pragma with eval
use warnings;
{
no warnings ;
eval q[
use warnings 'syntax' ;
my $a =+ 1 ;
]; print STDERR $@;
my $a =+ 1 ;
}
EXPECT
########
-X
# Check scope of pragma with eval
no warnings;
{
use warnings 'syntax' ;
eval '
my $a =+ 1 ;
'; print STDERR $@;
my $a =+ 1 ;
}
EXPECT
########
-X
# Check scope of pragma with eval
no warnings;
{
use warnings 'syntax' ;
eval '
no warnings ;
my $a =+ 1 ;
'; print STDERR $@;
my $a =+ 1 ;
}
EXPECT