Check lint

__END__
-W
# lint: check runtime $^WARNING is zapped
$^WARNING = 0 ;
close $^STDIN ;
print $^STDIN, "abc" ;
EXPECT
print() on closed filehandle STDIN at - line 5 character 1.
########
-W
# lint: check runtime $^WARNING is zapped
do {
  $^WARNING = 0 ;
  close $^STDIN ;
  print $^STDIN, "abc" ;
};
EXPECT
print() on closed filehandle STDIN at - line 6 character 3.
########
-W
# lint: check "no warnings" is zapped
do {
  no warnings ;
  close $^STDIN ;
  print $^STDIN, "abc" ;
};
EXPECT
print() on closed filehandle STDIN at - line 6 character 3.
########
-Ww
# lint: check combination of -w and -W
do {
  $^WARNING = 0 ;
  close $^STDIN ;
  print $^STDIN, "abc" ;
};
EXPECT
print() on closed filehandle STDIN at - line 6 character 3.
########
-W
# Check scope of pragma with eval
do {
    no warnings ;
    eval '
        my $b ; chop $b ;
    '; print $^STDERR, $^EVAL_ERROR ;
    my $b ; chop $b ;
};
EXPECT
Use of uninitialized value $b in chop at (eval 1) line 2 character 18.
    (eval) called at - line 5 character 5.
Use of uninitialized value $b in chop at - line 8 character 13.
########
-W
# Check scope of pragma with eval
use warnings;
do {
    no warnings ;
    eval q[ 
        use warnings 'uninitialized' ;
        my $b ; chop $b ;
    ]; print $^STDERR, $^EVAL_ERROR;
    my $b ; chop $b ;
};
EXPECT
Use of uninitialized value $b in chop at (eval 1) line 3 character 58.
    (eval) called at - line 6 character 5.
Use of uninitialized value $b in chop at - line 10 character 13.
########
-W
# Check scope of pragma with eval
no warnings;
do {
    use warnings 'uninitialized' ;
    eval '
        my $b ; chop $b ;
    '; print $^STDERR, $^EVAL_ERROR ;
    my $b ; chop $b ;
};
EXPECT
Use of uninitialized value $b in chop at (eval 1) line 2 character 18.
    (eval) called at - line 6 character 5.
Use of uninitialized value $b in chop at - line 9 character 13.
########
-W
# Check scope of pragma with eval
no warnings;
do {
    use warnings 'uninitialized' ;
    eval '
        no warnings ;
        my $b ; chop $b ;
    '; print $^STDERR, $^EVAL_ERROR ;
    my $b ; chop $b ;
};
EXPECT
Use of uninitialized value $b in chop at (eval 1) line 3 character 40.
    (eval) called at - line 6 character 5.
Use of uninitialized value $b in chop at - line 10 character 13.
