lib/AnyDBM_File ................................................ ok
lib/B/Deparse .................................................. ok
lib/B/Deparse-core ............................................. "my" variable $expr masks earlier declaration in same scope at ../lib/B/Deparse-core.t line 141.
Parentheses missing around "my" list at (eval 558) line 1, <DATA> line 37.
Parentheses missing around "my" list at (eval 564) line 1, <DATA> line 37.
Parentheses missing around "my" list at (eval 630) line 1, <DATA> line 38.
Parentheses missing around "my" list at (eval 636) line 1, <DATA> line 38.
Scalar value @lexsubtest::h{"foo"} better written as $lexsubtest::h{"foo"} at (eval 7418) line 1, <DATA> line 247.
Scalar value @lexsubtest::h{"foo"} better written as $lexsubtest::h{"foo"} at (eval 7420) line 2, <DATA> line 247.
Scalar value @lexsubtest::h{"foo"} better written as $lexsubtest::h{"foo"} at (eval 7422) line 1, <DATA> line 247.
Scalar value @lexsubtest::h[0] better written as $lexsubtest::h[0] at (eval 7430) line 1, <DATA> line 247.
Scalar value @lexsubtest::h[0] better written as $lexsubtest::h[0] at (eval 7432) line 2, <DATA> line 247.
Scalar value @lexsubtest::h[0] better written as $lexsubtest::h[0] at (eval 7434) line 1, <DATA> line 247.
Useless use of push with no values at (eval 7586) line 1, <DATA> line 247.
Useless use of push with no values at (eval 7588) line 2, <DATA> line 247.
Useless use of push with no values at (eval 7590) line 1, <DATA> line 247.
Parentheses missing around "my" list at (eval 7686) line 1, <DATA> line 247.
Parentheses missing around "my" list at (eval 7692) line 1, <DATA> line 247.
Parentheses missing around "my" list at (eval 7698) line 1, <DATA> line 247.
Parentheses missing around "my" list at (eval 7704) line 1, <DATA> line 247.
Useless use of unshift with no values at (eval 7718) line 1, <DATA> line 247.
Useless use of unshift with no values at (eval 7720) line 2, <DATA> line 247.
Useless use of unshift with no values at (eval 7722) line 1, <DATA> line 247.
ok
lib/B/Deparse-subclass ......................................... ok
lib/Benchmark .................................................. ok
lib/blib ....................................................... ok
lib/bytes ...................................................... bytes::length() called too early to check prototype at ../lib/bytes.t line 17.
bytes::chr() called too early to check prototype at ../lib/bytes.t line 18.
ok
lib/charnames .................................................. ok
lib/Class/Struct ............................................... ok
lib/Config ..................................................... ok
lib/Config/Extensions .......................................... ok
lib/DB ......................................................... ok
lib/DBM_Filter/t/01error ....................................... ok
lib/DBM_Filter/t/02core ........................................ ok
lib/DBM_Filter/t/compress ...................................... ok
lib/DBM_Filter/t/encode ........................................ ok
lib/DBM_Filter/t/int32 ......................................... ok
lib/DBM_Filter/t/null .......................................... ok
lib/DBM_Filter/t/utf8 .......................................... ok
lib/diagnostics ................................................ ok
lib/DirHandle .................................................. ok
lib/dumpvar .................................................... ok
lib/English .................................................... Name "C::POSTMATCH" used only once: possible typo at ../lib/English.t line 162.
Name "C::MATCH" used only once: possible typo at ../lib/English.t line 161.
Name "C::PREMATCH" used only once: possible typo at ../lib/English.t line 160.
Name "main::PREMATCH" used only once: possible typo at ../lib/English.t line 29.
Name "main::threads" used only once: possible typo at ../lib/English.t line 72.
Name "main::POSTMATCH" used only once: possible typo at ../lib/English.t line 31.
Name "main::MATCH" used only once: possible typo at ../lib/English.t line 30.
ok
lib/ExtUtils/t/Embed ........................................... ok
lib/feature .................................................... FILE: lib/feature/indirect ; line 4
PROG: 
use feature 'say';
package Foo {
  sub new { bless {}, shift }
}
# various indirect object look-alikes
my $foox = "foox";
print STDERR "Hello\n";
printf STDERR "Test%s\n", "x";
say STDERR "Hello";
exec $foox "foo", "bar";
system $foox "foo", "bar";
my $x = new Foo;
no feature "indirect";
print STDERR "Hello\n";
printf STDERR "Test%s\n", "x";
say STDERR "Hello";
exec $foox "foo", "bar";
system $foox "foo", "bar";
my $y = new Foo;
EXPECTED:
Bareword found where operator expected at - line 19, near "new Foo"
	(Do you need to predeclare new?)
syntax error at - line 19, near "new Foo"
Execution of - aborted due to compilation errors.
EXIT STATUS: != 0
GOT:
Bareword found where operator expected at - line 19, near "new Foo"
	(Do you need to predeclare new?)
Statement unlikely to be reached at - line 11.
	(Maybe you meant system() when you said exec()?)
Statement unlikely to be reached at - line 18.
	(Maybe you meant system() when you said exec()?)
syntax error at - line 19, near "new Foo"
Execution of - aborted due to compilation errors.
EXIT STATUS: 255
# Failed test 33 - feature indirect at lib/feature/indirect line 4
#
# Note: 'run_multiple_progs' run has one or more failures
#        you can consider setting the environment variable
#        PERL_TEST_ABORT_FIRST_FAILURE=1 before running the test
#        to stop on the first error.
#
FAILED at test 33
lib/feature/unicode_strings .................................... ok
lib/File/Basename .............................................. ok
lib/File/Compare ............................................... Useless use of string eq in void context at ../lib/File/Compare.t line 108.
ok
lib/File/Copy .................................................. ok
lib/File/stat .................................................. ok
lib/File/stat-7896 ............................................. ok
lib/FileHandle ................................................. ok
lib/filetest ................................................... ok
lib/Getopt/Std ................................................. ok
lib/h2ph ....................................................... # Failed test 1 - output is free of warnings at ../lib/h2ph.t line 33
#      got "Use of uninitialized value $enum_value in substitution (s///) at ../utils/h2ph line 249, <IN> line 94.\nUse of uninitialized value $enum_value in substitution (s///) at ../utils/h2ph line 249, <IN> line 94.\nUse of uninitialized value $enum_value in substitution (s///) at ../utils/h2ph line 249, <IN> line 94.\nUse of uninitialized value $enum_value in substitution (s///) at ../utils/h2ph line 249, <IN> line 94.\nUse of uninitialized value $enum_value in substitution (s///) at ../utils/h2ph line 249, <IN> line 94.\nUse of uninitialized value $enum_value in substitution (s///) at ../utils/h2ph line 249, <IN> line 94.\nUse of uninitialized value $enum_value in substitution (s///) at ../utils/h2ph line 249, <IN> line 94.\nUse of uninitialized value $enum_value in substitution (s///) at ../utils/h2ph line 249, <IN> line 94.\nUse of uninitialized value $enum_value in substitution (s///) at ../utils/h2ph line 249, <IN> line 94.\nUse of uninitialized value $enum_value in substitution (s///) at ../utils/h2ph line 249, <IN> line 94.\nUse of uninitialized value $enum_value in substitution (s///) at ../utils/h2ph line 249, <IN> line 94.\nUse of uninitialized value $enum_value in substitution (s///) at ../utils/h2ph line 249, <IN> line 94.\nUse of uninitialized value $enum_value in substitution (s///) at ../utils/h2ph line 249, <IN> line 94.\nUse of uninitialized value $out in pattern match (m//) at ../utils/h2ph line 607, <IN> line 112.\nUse of uninitialized value $enum_value in substitution (s///) at ../utils/h2ph line 249, <IN> line 133.\nUse of uninitialized value $enum_value in substitution (s///) at ../utils/h2ph line 249, <IN> line 133.\n"
# expected ""
FAILED at test 1
lib/h2xs ....................................................... ok
lib/integer .................................................... ok
lib/Internals .................................................. ok
lib/less ....................................................... ok
lib/locale ..................................................... ok
lib/locale_threads ............................................. ok
lib/meta_notation .............................................. ok
lib/Net/hostent ................................................ ok
lib/Net/netent ................................................. skipped
lib/Net/protoent ............................................... ok
lib/Net/servent ................................................ ok
lib/open ....................................................... ok
lib/overload ................................................... Unquoted string "bareword" may clash with future reserved word at ../lib/overload.t line 420.
Redundant argument in sprintf at ../lib/overload.t line 1906.
Unquoted string "myio" may clash with future reserved word at ../lib/overload.t line 2771.
Useless use of tell in void context at ../lib/overload.t line 2771.
Useless use of repeat (x) in void context at ../lib/overload.t line 2781.
Name "main::GLOB" used only once: possible typo at ../lib/overload.t line 1145.
Name "Oscalar::AUTOLOAD" used only once: possible typo at ../lib/overload.t line 293.
Use of uninitialized value $_ in pattern match (m//) at ../lib/overload.t line 391.
Use of uninitialized value in string at ../lib/overload.t line 42.
# Failed test 212 - at ../lib/overload.t line 942
#      got "Odd number of arguments for overload::constant at (eval 183) line 1.\n"
# expected ""
# Failed test 214 - at ../lib/overload.t line 953
#      got "\'fred\' is not an overloadable type at (eval 185) line 1.\n"
# expected ""
# Failed test 216 - at ../lib/overload.t line 964
#      got "\'1\' is not a code reference at (eval 187) line 1.\n"
# expected ""
# Failed test 218 - at ../lib/overload.t line 976
#      got "overload arg \'~|_|~\' is invalid at (eval 190) line 1.\n"
# expected ""
Use of uninitialized value in numeric eq (==) at ../lib/overload.t line 1044.
	(in cleanup) Can't locate object method "DESTROY" via package "o" at ../lib/overload.t line 2299, <$iter_fh> line 18.
tell() on unopened filehandle myio at ../lib/overload.t line 2771.
Use of uninitialized value $b in string at ../lib/overload.t line 3170.
Use of uninitialized value $b in string at ../lib/overload.t line 3170.
Use of uninitialized value in string at ../lib/overload.t line 42.
Use of uninitialized value in string at ../lib/overload.t line 42.
Use of uninitialized value in string at ../lib/overload.t line 42 during global destruction.
FAILED at test 212
lib/overload64 ................................................. ok
lib/overloading ................................................ ok
lib/perl5db .................................................... # Failed test 15 - [perl \#61222] at ../lib/perl5db.t line 495
#      got '\nLoading DB routines from perl5db.pl version 1.57\nEditor support available.\n\nEnter h or \'h h\' for help, or \'man perldebug\' for more help.\n\nIllegal character in prototype for Pie::INCORRECT : DB at ../lib/perl5db/t/rt-61222 line 8.\n at ../lib/perl5db/t/rt-61222 line 8.\nPie::(../lib/perl5db/t/rt-61222:10):\n10:\t1;\nauto(-2)  DB<1> m Pie\nvia UNIVERSAL: DOES\nvia UNIVERSAL: VERSION\nvia UNIVERSAL: can\nvia UNIVERSAL: isa\nauto(-1)  DB<2> q\n'
# expected !~ /(?^:INCORRECT)/
FAILED at test 15
lib/perlbug .................................................... "my" variable $contents masks earlier declaration in same scope at ../lib/perlbug.t line 140.
ok
lib/Pod/t/Usage ................................................ ok
lib/SelectSaver ................................................ ok
lib/sigtrap .................................................... Name "sigtrap::Verbose" used only once: possible typo at ../lib/sigtrap.t line 74.
No such signal: SIGFAKE at ../lib/sigtrap.t line 56.
No such signal: SIGFAKE at ../lib/sigtrap.t line 73.
untie attempted while 1 inner references still exist at ../lib/sigtrap.t line 77.
ok
lib/sort ....................................................... ok
lib/strict ..................................................... FILE: lib/strict/refs ; line 4
PROG: 

# no strict, should build & run ok.
no strict;
my $fred ;
$b = "fred" ;
$a = $$b ;
$c = ${"def"} ;
$c = @{"def"} ;
$c = %{"def"} ;
$c = *{"def"} ;
$c = \&{"def"} ;
$c = def->[0];
$c = def->{xyz};
EXPECTED:

GOT:
Unquoted string "def" may clash with future reserved word at - line 12.
Unquoted string "def" may clash with future reserved word at - line 13.
# Failed test 1 - test from lib/strict/refs at line 4 at lib/strict/refs line 4
FILE: lib/strict/refs ; line 27
PROG: 

# strict refs - error
"A::Really::Big::Package::Name::To::Use" =~ /(.*)/; 
${$1};
EXPECTED:
Can't use string ("A::Really::Big::Package::Name::T"...) as a SCALAR ref while "strict refs" in use at - line 4.
GOT:
Useless use of a variable in void context at - line 4.
Can't use string ("A::Really::Big::Package::Name::T"...) as a SCALAR ref while "strict refs" in use at - line 4.
# Failed test 3 - test from lib/strict/refs at line 27 at lib/strict/refs line 27
FILE: lib/strict/refs ; line 34
PROG: 

# strict refs - error
*{"A::Really::Big::Package::Name::To::Use"; }
EXPECTED:
Can't use string ("A::Really::Big::Package::Name::T"...) as a symbol ref while "strict refs" in use at - line 3.
GOT:
Useless use of a variable in void context at - line 3.
Can't use string ("A::Really::Big::Package::Name::T"...) as a symbol ref while "strict refs" in use at - line 3.
# Failed test 4 - test from lib/strict/refs at line 34 at lib/strict/refs line 34
FILE: lib/strict/refs ; line 40
PROG: 

# strict refs - error
"A::Really::Big::Package::Name::To::Use" =~ /(.*)/;
*{$1}
EXPECTED:
Can't use string ("A::Really::Big::Package::Name::T"...) as a symbol ref while "strict refs" in use at - line 4.
GOT:
Useless use of a variable in void context at - line 4.
Can't use string ("A::Really::Big::Package::Name::T"...) as a symbol ref while "strict refs" in use at - line 4.
# Failed test 5 - test from lib/strict/refs at line 40 at lib/strict/refs line 40
FILE: lib/strict/refs ; line 216
PROG: 
${"Fred"} ;
require "./abc";
EXPECTED:
Can't use string ("Fred") as a SCALAR ref while "strict refs" in use at - line 1.
GOT:
Useless use of a variable in void context at - line 1.
Can't use string ("Fred") as a SCALAR ref while "strict refs" in use at - line 1.
# Failed test 24 - test from lib/strict/refs at line 216 at lib/strict/refs line 216
FILE: lib/strict/refs ; line 325
PROG: 
# [perl #26910] hints not propagated into (?{...})
use strict 'refs';
/(?{${"foo"}++})/;
EXPECTED:
Can't use string ("foo") as a SCALAR ref while "strict refs" in use at - line 3.
GOT:
Use of uninitialized value $_ in pattern match (m//) at - line 3.
Can't use string ("foo") as a SCALAR ref while "strict refs" in use at - line 3.
# Failed test 34 - test from lib/strict/refs at line 325 at lib/strict/refs line 325
FILE: lib/strict/refs ; line 331
PROG: 
# [perl #37886] strict 'refs' doesn't apply inside defined
use strict 'refs';
my $x = "foo";
defined $$x;
EXPECTED:
Can't use string ("foo") as a SCALAR ref while "strict refs" in use at - line 4.
GOT:
Useless use of defined operator in void context at - line 4.
Can't use string ("foo") as a SCALAR ref while "strict refs" in use at - line 4.
# Failed test 35 - test from lib/strict/refs at line 331 at lib/strict/refs line 331
FILE: lib/strict/refs ; line 338
PROG: 
# [perl #74168] Assertion failed: (SvTYPE(_svcur) >= SVt_PV), function Perl_softref2xv, file pp.c, line 240.
use strict 'refs';
my $o = 1 ; $o->{1} ;
EXPECTED:
Can't use string ("1") as a HASH ref while "strict refs" in use at - line 3.
GOT:
Useless use of hash element in void context at - line 3.
Can't use string ("1") as a HASH ref while "strict refs" in use at - line 3.
# Failed test 36 - test from lib/strict/refs at line 338 at lib/strict/refs line 338
FILE: lib/strict/subs ; line 4
PROG: 

# no strict, should build & run ok.
no strict;
Fred ;
my $fred ;
$beta = "fred" ;
$alpha = $$beta ;
EXPECTED:

GOT:
Useless use of a constant ("Fred") in void context at - line 4.
# Failed test 38 - test from lib/strict/subs at line 4 at lib/strict/subs line 4
FILE: lib/strict/subs ; line 14
PROG: 

# no strict subs, bareword ok.
no strict 'subs' ;
Fred ;
EXPECTED:

GOT:
Useless use of a constant ("Fred") in void context at - line 4.
# Failed test 39 - test from lib/strict/subs at line 14 at lib/strict/subs line 14
FILE: lib/strict/subs ; line 21
PROG: 

use strict ;
no strict 'subs' ;
Fred ;
EXPECTED:

GOT:
Useless use of a constant ("Fred") in void context at - line 4.
# Failed test 40 - test from lib/strict/subs at line 21 at lib/strict/subs line 21
FILE: lib/strict/subs ; line 271
PROG: 

# Check scope of pragma with eval
no strict ;
eval '
    Fred ;
'; print STDERR $@ ;
Fred ;
EXPECTED:

GOT:
Useless use of a constant ("Fred") in void context at - line 7.
# Failed test 63 - test from lib/strict/subs at line 271 at lib/strict/subs line 271
FILE: lib/strict/subs ; line 397
PROG: 
#  [perl #27628] strict 'subs' didn't warn on bareword array index
use strict 'subs';
my @a; my $x=$a[FOO];
EXPECTED:
Bareword "FOO" not allowed while "strict subs" in use at - line 3.
Execution of - aborted due to compilation errors.
GOT:
Argument "FOO" isn't numeric in array element at - line 3.
Bareword "FOO" not allowed while "strict subs" in use at - line 3.
Execution of - aborted due to compilation errors.
# Failed test 76 - test from lib/strict/subs at line 397 at lib/strict/subs line 397
FILE: lib/strict/subs ; line 404
PROG: 
use strict 'subs';
my @a;my $x=$a[FOO];
EXPECTED:
Bareword "FOO" not allowed while "strict subs" in use at - line 2.
Execution of - aborted due to compilation errors.
GOT:
Argument "FOO" isn't numeric in array element at - line 2.
Bareword "FOO" not allowed while "strict subs" in use at - line 2.
Execution of - aborted due to compilation errors.
# Failed test 77 - test from lib/strict/subs at line 404 at lib/strict/subs line 404
FILE: lib/strict/subs ; line 433
PROG: 
use strict;
readline(FOO);
EXPECTED:

GOT:
readline() on unopened filehandle at - line 2.
# Failed test 81 - test from lib/strict/subs at line 433 at lib/strict/subs line 433
FILE: lib/strict/vars ; line 4
PROG: 

# no strict, should build & run ok.
no strict ;
Fred ;
my $fred ;
$beta = "fred" ;
$alpha = $$beta ;
EXPECTED:

GOT:
Useless use of a constant ("Fred") in void context at - line 4.
# Failed test 88 - test from lib/strict/vars at line 4 at lib/strict/vars line 4
FILE: lib/strict/vars ; line 14
PROG: 

no strict 'vars' ;
$fred ;
EXPECTED:

GOT:
Useless use of a variable in void context at - line 3.
# Failed test 89 - test from lib/strict/vars at line 14 at lib/strict/vars line 14
FILE: lib/strict/vars ; line 20
PROG: 

use strict ;
no strict 'vars' ;
$fred ;
EXPECTED:

GOT:
Useless use of a variable in void context at - line 4.
# Failed test 90 - test from lib/strict/vars at line 20 at lib/strict/vars line 20
FILE: lib/strict/vars ; line 148
PROG: 
no strict 'vars' ;
use utf8;
use open qw( :utf8 :std );
$jòè = 1 ;
require "./abc";
EXPECTED:
Variable "$jòè" is not imported at ./abc line 4.
Global symbol "$jòè" requires explicit package name (did you forget to declare "my $jòè"?) at ./abc line 4.
Compilation failed in require at - line 5.
GOT:
Name "main::jòè" used only once: possible typo at - line 4.
Variable "$jòè" is not imported at ./abc line 4.
Global symbol "$jòè" requires explicit package name (did you forget to declare "my $jòè"?) at ./abc line 4.
Compilation failed in require at - line 5.
# Failed test 102 - test from lib/strict/vars at line 148 at lib/strict/vars line 148
FILE: lib/strict/vars ; line 389
PROG: 

# strict vars with nested our - no error
use strict 'vars' ;
our $fred;
sub foo {
    our $fred;
    $fred;
}
$fred ;
EXPECTED:

GOT:
Useless use of a variable in void context at - line 9.
# Failed test 119 - test from lib/strict/vars at line 389 at lib/strict/vars line 389
FILE: lib/strict/vars ; line 543
PROG: 
# [perl #73712] [gh #10245] 'Variable is not imported' should be suppressible
no strict 'vars';
$dweck;
no warnings;
eval q/$dweck/;
EXPECTED:

GOT:
Useless use of a variable in void context at - line 3.
# Failed test 132 - test from lib/strict/vars at line 543 at lib/strict/vars line 543
#
# Note: 'run_multiple_progs' run has one or more failures
#        you can consider setting the environment variable
#        PERL_TEST_ABORT_FIRST_FAILURE=1 before running the test
#        to stop on the first error.
#
FAILED at test 1
lib/subs ....................................................... ok
lib/Symbol ..................................................... Name "Bar::variable" used only once: possible typo at ../lib/Symbol.t line 105.
Name "Transient::variable" used only once: possible typo at ../lib/Symbol.t line 90.
Name "Foo::variable" used only once: possible typo at ../lib/Symbol.t line 98.
ok
lib/Thread ..................................................... ok
lib/Tie/Array/push ............................................. ok
lib/Tie/Array/splice ........................................... ok
lib/Tie/Array/std .............................................. ok
lib/Tie/Array/stdpush .......................................... ok
lib/Tie/ExtraHash .............................................. ok
lib/Tie/Handle/stdhandle ....................................... Name "main::tst" used only once: possible typo at ../lib/Tie/Handle/stdhandle.t line 12.
ok
lib/Tie/Handle/stdhandle_from_handle ........................... ok
lib/Tie/Hash ................................................... ok
lib/Tie/Scalar ................................................. ok
lib/Tie/SubstrHash ............................................. ok
lib/Time/gmtime ................................................ ok
lib/Time/localtime ............................................. ok
lib/Unicode/UCD ................................................ ok
lib/User/grent ................................................. ok
lib/User/pwent ................................................. ok
lib/utf8 ....................................................... ok
lib/vars ....................................................... ok
lib/vars_carp .................................................. ok
lib/vmsish ..................................................... Useless use of gmtime in void context at ../lib/vmsish.t line 132.
Use of uninitialized value $file in unlink at ../lib/vmsish.t line 143.
ok
lib/warnings ................................................... FILE: lib/warnings/1global ; line 5
PROG: 

# warnable code, warnings disabled
$a =+ 3 ;
EXPECTED:

GOT:
Reversed += operator at - line 3.
# Failed test 1 - test from lib/warnings/1global at line 5 at lib/warnings/1global line 5
FILE: lib/warnings/1global ; line 70
PROG: 

# compile-time warnable code, warnings enabled via runtime $^W
# so no warning printed.
$^W = 1 ;
$a =+ 3 ;
EXPECTED:

GOT:
Reversed += operator at - line 5.
# Failed test 9 - test from lib/warnings/1global at line 70 at lib/warnings/1global line 70
FILE: lib/warnings/1global ; line 85
PROG: 

# warnings enabled at compile time, disabled at run time
BEGIN { $^W = 1 }
$^W = 0 ;
my $b ; chop $b ;
EXPECTED:

GOT:
Use of uninitialized value $b in scalar chop at - line 5.
# Failed test 11 - test from lib/warnings/1global at line 85 at lib/warnings/1global line 85
FILE: lib/warnings/1global ; line 173
PROG: 

{
    local ($^W) = 1;
}
my $b ; chop $b ;
EXPECTED:

GOT:
Use of uninitialized value $b in scalar chop at - line 5.
# Failed test 21 - test from lib/warnings/1global at line 173 at lib/warnings/1global line 173
FILE: lib/warnings/1global ; line 181
PROG: 

my $a ; chop $a ;
{
    local ($^W) = 1;
    my $b ; chop $b ;
}
my $c ; chop $c ;
EXPECTED:
Use of uninitialized value $b in scalar chop at - line 5.
GOT:
Use of uninitialized value $a in scalar chop at - line 2.
Use of uninitialized value $b in scalar chop at - line 5.
Use of uninitialized value $c in scalar chop at - line 7.
# Failed test 22 - test from lib/warnings/1global at line 181 at lib/warnings/1global line 181
FILE: lib/warnings/1global ; line 201
PROG: 

$^W = $a ;
EXPECTED:

GOT:
Use of uninitialized value $^W in scalar assignment at - line 2.
# Failed test 25 - test from lib/warnings/1global at line 201 at lib/warnings/1global line 201
FILE: lib/warnings/1global ; line 206
PROG: 

sub fred {}
$^W = fred() ;
EXPECTED:

GOT:
Use of uninitialized value $^W in scalar assignment at - line 3.
# Failed test 26 - test from lib/warnings/1global at line 206 at lib/warnings/1global line 206
FILE: lib/warnings/1global ; line 212
PROG: 

sub fred { my $b ; chop $b ;}
{ local $^W = 0 ;
  fred() ;
}
EXPECTED:

GOT:
Use of uninitialized value $b in scalar chop at - line 2.
# Failed test 27 - test from lib/warnings/1global at line 212 at lib/warnings/1global line 212
FILE: lib/warnings/2use ; line 91
PROG: 
require "./abc";
my $a =+ 1 ;
EXPECTED:

GOT:
Reversed += operator at - line 2.
# Failed test 38 - test from lib/warnings/2use at line 91 at lib/warnings/2use line 91
FILE: lib/warnings/2use ; line 347
PROG: 

# Check the additive nature of the pragma
my $a =+ 1 ;
my $a ; chop $a ;
use warnings 'syntax' ;
$a =+ 1 ;
my $b ; chop $b ;
use warnings 'uninitialized' ;
my $c ; chop $c ;
no warnings 'syntax' ;
$a =+ 1 ;
EXPECTED:
Reversed += operator at - line 6.
Use of uninitialized value $c in scalar chop at - line 9.
GOT:
Reversed += operator at - line 3.
"my" variable $a masks earlier declaration in same scope at - line 4.
Reversed += operator at - line 6.
Use of uninitialized value $a in scalar chop at - line 4.
Use of uninitialized value $b in scalar chop at - line 7.
Use of uninitialized value $c in scalar chop at - line 9.
# Failed test 57 - test from lib/warnings/2use at line 347 at lib/warnings/2use line 347
FILE: lib/warnings/3both ; line 186
PROG: 

# Check interaction of $^W and use warnings
BEGIN {  $^W = 0 }
{
    use warnings ;
    my $b ; 
    chop $b ;
}
my $b ;
chop $b ;
EXPECTED:
Use of uninitialized value $b in scalar chop at - line 7.
GOT:
Use of uninitialized value $b in scalar chop at - line 7.
Use of uninitialized value $b in scalar chop at - line 10.
# Failed test 75 - test from lib/warnings/3both at line 186 at lib/warnings/3both line 186
FILE: lib/warnings/6default ; line 4
PROG: 
# default warnings should be displayed if you don't add anything
# optional shouldn't
my $a = oct "7777777777777777777777777777777777779" ;
EXPECTED:
Integer overflow in octal number at - line 3.
GOT:
Integer overflow in octal number at - line 3.
Illegal octal digit '9' ignored at - line 3.
Octal number > 037777777777 non-portable at - line 3.
# Failed test 116 - test from lib/warnings/6default at line 4 at lib/warnings/6default line 4
FILE: lib/warnings/7fatal ; line 86
PROG: 
require "./abc";
$a =+ 1 ;
EXPECTED:

GOT:
Reversed += operator at - line 2.
# Failed test 134 - test from lib/warnings/7fatal at line 86 at lib/warnings/7fatal line 86
FILE: lib/warnings/8signal ; line 6
PROG: 
# 8signal
BEGIN { $| = 1; $SIG{__WARN__} = sub { print "WARN -- @_" } }
BEGIN { $SIG{__DIE__}  = sub { print "DIE -- @_" } }
$a =+ 1 ;
use warnings qw(syntax) ;
$a =+ 1 ;
use warnings FATAL => qw(syntax) ;
$a =+ 1 ;
print "The End.\n" ;
EXPECTED:
WARN -- Reversed += operator at - line 6.
DIE -- Reversed += operator at - line 8.
Reversed += operator at - line 8.
GOT:
WARN -- Reversed += operator at - line 4.
WARN -- Reversed += operator at - line 6.
DIE -- Reversed += operator at - line 8.
Reversed += operator at - line 8.
# Failed test 171 - test from lib/warnings/8signal at line 6 at lib/warnings/8signal line 6
FILE: lib/warnings/9enabled ; line 19
PROG: 
use warnings 'syntax' ;
use abc1 ;
EXPECTED:
ok1
ok2
GOT:
ok2
# Failed test 173 - test from lib/warnings/9enabled at line 19 at lib/warnings/9enabled line 19
FILE: lib/warnings/9enabled ; line 33
PROG: 
use warnings 'io' ;
use abc2 ;
EXPECTED:
ok1
ok2
GOT:
ok1
# Failed test 174 - test from lib/warnings/9enabled at line 33 at lib/warnings/9enabled line 33
FILE: lib/warnings/9enabled ; line 75
PROG: 
use warnings 'syntax' ;
use abc5 ;
abc5::check() ;
EXPECTED:
ok1
ok2
GOT:
ok2
# Failed test 177 - test from lib/warnings/9enabled at line 75 at lib/warnings/9enabled line 75
FILE: lib/warnings/9enabled ; line 92
PROG: 
use warnings 'syntax' ;
use abc6 ;
abc6::check() ;
EXPECTED:
ok1
ok2
ok3
GOT:
ok2
# Failed test 178 - test from lib/warnings/9enabled at line 92 at lib/warnings/9enabled line 92
FILE: lib/warnings/9enabled ; line 111
PROG: 
use warnings 'syntax' ;
require "abc7" ;
abc7::check() ;
EXPECTED:
ok1
ok2
GOT:
ok2
# Failed test 179 - test from lib/warnings/9enabled at line 111 at lib/warnings/9enabled line 111
FILE: lib/warnings/9enabled ; line 128
PROG: 
use warnings 'syntax' ;
require "abc8" ;
abc8::check() ;
EXPECTED:
ok1
ok2
ok3
GOT:
ok2
# Failed test 180 - test from lib/warnings/9enabled at line 128 at lib/warnings/9enabled line 128
FILE: lib/warnings/9enabled ; line 190
PROG: 
use warnings 'syntax' ;
use abc11 ;
eval {
  abc11::check() ;
};
print $@ ;
EXPECTED:
ok1
ok2
GOT:
ok2
# Failed test 183 - test from lib/warnings/9enabled at line 190 at lib/warnings/9enabled line 190
FILE: lib/warnings/9enabled ; line 210
PROG: 
use warnings 'syntax' ;
use abc12 ;
eval {
  abc12::check() ;
  } ;
print $@ ;
EXPECTED:
ok1
ok2
ok3
GOT:
ok2
# Failed test 184 - test from lib/warnings/9enabled at line 210 at lib/warnings/9enabled line 210
FILE: lib/warnings/9enabled ; line 232
PROG: 
use warnings 'syntax' ;
require "abc13" ;
eval {
  abc13::check() ;
  } ;
print $@ ;
EXPECTED:
ok1
ok2
GOT:
ok2
# Failed test 185 - test from lib/warnings/9enabled at line 232 at lib/warnings/9enabled line 232
FILE: lib/warnings/9enabled ; line 252
PROG: 
use warnings 'syntax' ;
require "abc14" ;
eval {
  use warnings 'io' ;
  abc14::check() ;
};
abc14::check() ;
print $@ ;
EXPECTED:
ok1
ok2
ok3
ok1
ok2
GOT:
ok2
ok3
ok2
ok3
# Failed test 186 - test from lib/warnings/9enabled at line 252 at lib/warnings/9enabled line 252
FILE: lib/warnings/9enabled ; line 278
PROG: 
use warnings 'syntax' ;
use abc15 ;
sub fred { abc15::check() }
fred() ;
EXPECTED:
ok1
ok2
ok3
GOT:
ok2
# Failed test 187 - test from lib/warnings/9enabled at line 278 at lib/warnings/9enabled line 278
FILE: lib/warnings/9enabled ; line 314
PROG: 
use warnings 'syntax' ;
use abc17 ;
sub fred { use warnings 'io'  ; abc17::check() }
fred() ;
EXPECTED:
ok1
ok2
ok3
ok4
GOT:
ok2
ok3
# Failed test 189 - test from lib/warnings/9enabled at line 314 at lib/warnings/9enabled line 314
FILE: lib/warnings/9enabled ; line 499
PROG: 
use warnings 'syntax' ;
use abc27 ;
use warnings 'abc27' ;
abc27::check() ;
EXPECTED:
ok1
ok2
ok3
GOT:
ok1
ok2
# Failed test 201 - test from lib/warnings/9enabled at line 499 at lib/warnings/9enabled line 499
FILE: lib/warnings/9enabled ; line 520
PROG: 
use warnings 'syntax' ;
use abc28 ;
abc28::check() ;
EXPECTED:
ok1
ok2
ok3
GOT:
ok2
# Failed test 202 - test from lib/warnings/9enabled at line 520 at lib/warnings/9enabled line 520
FILE: lib/warnings/9enabled ; line 560
PROG: 
use warnings 'syntax' ;
use abc30 ;
eval { abc30::check() ; } ;
print $@ ;
EXPECTED:
ok1
ok2
ok3
GOT:
ok2
# Failed test 204 - test from lib/warnings/9enabled at line 560 at lib/warnings/9enabled line 560
FILE: lib/warnings/9enabled ; line 581
PROG: 
use warnings 'syntax' ;
use abc31 ;
use warnings 'abc31' ;
sub fred { abc31::check() }
fred() ;
EXPECTED:
ok1
ok2
ok3
GOT:
ok1
ok2
# Failed test 205 - test from lib/warnings/9enabled at line 581 at lib/warnings/9enabled line 581
FILE: lib/warnings/9enabled ; line 620
PROG: 
use warnings 'syntax' ;
use abc33 ;
use warnings 'abc33' ;
sub fred { use warnings 'io'  ; abc33::check() }
fred() ;
EXPECTED:
ok1
ok2
ok3
ok4
GOT:
ok1
ok2
ok3
# Failed test 207 - test from lib/warnings/9enabled at line 620 at lib/warnings/9enabled line 620
FILE: lib/warnings/9enabled ; line 809
PROG: 
use abc43 ;
use def ;
use warnings 'abc43';
abc43::check() ;
def::check() ;
no warnings 'abc43'  ;
use warnings 'def'  ;
abc43::check() ;
def::check() ;
use warnings 'abc43'  ;
use warnings 'def'  ;
abc43::check() ;
def::check() ;
no warnings 'abc43'  ;
no warnings 'def'  ;
abc43::check() ;
def::check() ;
use warnings;
abc43::check() ;
def::check() ;
no warnings 'abc43' ;
abc43::check() ;
def::check() ;
EXPECTED:
abc43 self enabled
abc43 def not enabled
abc43 all not enabled
def self not enabled
def abc43 enabled
def all not enabled
abc43 self not enabled
abc43 def enabled
abc43 all not enabled
def self enabled
def abc43 not enabled
def all not enabled
abc43 self enabled
abc43 def enabled
abc43 all not enabled
def self enabled
def abc43 enabled
def all not enabled
abc43 self not enabled
abc43 def not enabled
abc43 all not enabled
def self not enabled
def abc43 not enabled
def all not enabled
abc43 self enabled
abc43 def enabled
abc43 all enabled
def self enabled
def abc43 enabled
def all enabled
abc43 self not enabled
abc43 def enabled
abc43 all enabled
def self enabled
def abc43 not enabled
def all enabled
GOT:
abc43 self enabled
abc43 def enabled
abc43 all enabled
def self enabled
def abc43 enabled
def all enabled
abc43 self not enabled
abc43 def enabled
abc43 all enabled
def self enabled
def abc43 not enabled
def all enabled
abc43 self enabled
abc43 def enabled
abc43 all enabled
def self enabled
def abc43 enabled
def all enabled
abc43 self not enabled
abc43 def not enabled
abc43 all enabled
def self not enabled
def abc43 not enabled
def all enabled
abc43 self enabled
abc43 def enabled
abc43 all enabled
def self enabled
def abc43 enabled
def all enabled
abc43 self not enabled
abc43 def enabled
abc43 all enabled
def self enabled
def abc43 not enabled
def all enabled
# Failed test 217 - test from lib/warnings/9enabled at line 809 at lib/warnings/9enabled line 809
FILE: lib/warnings/9enabled ; line 980
PROG: 
use abc48 ;
use warnings 'abc48';
abc48::in1() ;
EXPECTED:
ok1
ok2
ok3
ok4
my message 1 at - line 3.
my message 2 at - line 3.
my message 3 at - line 3.
GOT:
ok1
ok4
my message 1 at - line 3.
my message 2 at - line 3.
my message 3 at - line 3.
my message 4 at - line 3.
my message 5 at - line 3.
# Failed test 222 - test from lib/warnings/9enabled at line 980 at lib/warnings/9enabled line 980
FILE: lib/warnings/9enabled ; line 1184
PROG: 
use abc52;
use warnings("abc52", "abc52::bar");
abc52::check() ;
EXPECTED:
hello at - line 3.
hello bar at - line 3.
GOT:
hello at - line 3.
hello foo at - line 3.
hello bar at - line 3.
# Failed test 226 - test from lib/warnings/9enabled at line 1184 at lib/warnings/9enabled line 1184
FILE: lib/warnings/9enabled ; line 1307
PROG: 
{ Quux::quux(); }
{ no warnings; Quux::quux(); }
{ no warnings; use warnings "void"; Quux::quux(); }
{ use warnings; Quux::quux(); }
{ use warnings; no warnings "void"; Quux::quux(); }
use warnings ();
BEGIN { warnings::register_categories(qw(wibble wobble wabble wubble webble)); }
package Quux {
  sub quux {
    warnings::warnif($_, "My $_ is flanged")
      foreach qw(wibble wobble wabble wubble webble);
    ();
  }
}
{ Quux::quux(); }
{ no warnings; Quux::quux(); }
{ no warnings; use warnings "void"; Quux::quux(); }
{ use warnings; Quux::quux(); }
{ use warnings; no warnings "void"; Quux::quux(); }
{ no warnings; use warnings qw(wibble wabble webble); Quux::quux(); }
{ no warnings; use warnings qw(wobble wubble); Quux::quux(); }
{ use warnings; no warnings qw(wibble wabble webble); Quux::quux(); }
{ use warnings; no warnings qw(wobble wubble); Quux::quux(); }
{ use warnings qw(wubble NONFATAL void); Quux::quux(); }
{ use warnings qw(wubble); no warnings "void"; Quux::quux(); }
{ no warnings "webble"; Quux::quux(); }
{ use warnings qw(NONFATAL webble); Quux::quux(); }
print "done\n";
EXPECTED:
My wibble is flanged at - line 4.
My wobble is flanged at - line 4.
My wabble is flanged at - line 4.
My wubble is flanged at - line 4.
My webble is flanged at - line 4.
My wibble is flanged at - line 5.
My wobble is flanged at - line 5.
My wabble is flanged at - line 5.
My wubble is flanged at - line 5.
My webble is flanged at - line 5.
My wibble is flanged at - line 18.
My wobble is flanged at - line 18.
My wabble is flanged at - line 18.
My wubble is flanged at - line 18.
My webble is flanged at - line 18.
My wibble is flanged at - line 19.
My wobble is flanged at - line 19.
My wabble is flanged at - line 19.
My wubble is flanged at - line 19.
My webble is flanged at - line 19.
My wibble is flanged at - line 20.
My wabble is flanged at - line 20.
My webble is flanged at - line 20.
My wobble is flanged at - line 21.
My wubble is flanged at - line 21.
My wobble is flanged at - line 22.
My wubble is flanged at - line 22.
My wibble is flanged at - line 23.
My wabble is flanged at - line 23.
My webble is flanged at - line 23.
My wubble is flanged at - line 24.
My wubble is flanged at - line 25.
My webble is flanged at - line 27.
done
GOT:
My wibble is flanged at - line 1.
My wobble is flanged at - line 1.
My wabble is flanged at - line 1.
My wubble is flanged at - line 1.
My webble is flanged at - line 1.
My wibble is flanged at - line 4.
My wobble is flanged at - line 4.
My wabble is flanged at - line 4.
My wubble is flanged at - line 4.
My webble is flanged at - line 4.
My wibble is flanged at - line 5.
My wobble is flanged at - line 5.
My wabble is flanged at - line 5.
My wubble is flanged at - line 5.
My webble is flanged at - line 5.
My wibble is flanged at - line 15.
My wobble is flanged at - line 15.
My wabble is flanged at - line 15.
My wubble is flanged at - line 15.
My webble is flanged at - line 15.
My wibble is flanged at - line 18.
My wobble is flanged at - line 18.
My wabble is flanged at - line 18.
My wubble is flanged at - line 18.
My webble is flanged at - line 18.
My wibble is flanged at - line 19.
My wobble is flanged at - line 19.
My wabble is flanged at - line 19.
My wubble is flanged at - line 19.
My webble is flanged at - line 19.
My wibble is flanged at - line 20.
My wabble is flanged at - line 20.
My webble is flanged at - line 20.
My wobble is flanged at - line 21.
My wubble is flanged at - line 21.
My wobble is flanged at - line 22.
My wubble is flanged at - line 22.
My wibble is flanged at - line 23.
My wabble is flanged at - line 23.
My webble is flanged at - line 23.
My wibble is flanged at - line 24.
My wobble is flanged at - line 24.
My wabble is flanged at - line 24.
My wubble is flanged at - line 24.
My webble is flanged at - line 24.
My wibble is flanged at - line 25.
My wobble is flanged at - line 25.
My wabble is flanged at - line 25.
My wubble is flanged at - line 25.
My webble is flanged at - line 25.
My wibble is flanged at - line 26.
My wobble is flanged at - line 26.
My wabble is flanged at - line 26.
My wubble is flanged at - line 26.
My wibble is flanged at - line 27.
My wobble is flanged at - line 27.
My wabble is flanged at - line 27.
My wubble is flanged at - line 27.
My webble is flanged at - line 27.
done
# Failed test 232 - test from lib/warnings/9enabled at line 1307 at lib/warnings/9enabled line 1307
FILE: lib/warnings/9enabled ; line 1371
PROG: 
select STDERR;
{ use warnings "utf8"; foo() }
sub foo { use warnings "syntax"; bar() }
sub bar {
 use warnings "unpack";
 local $\="\n";
 print "1. ", warnings::enabled_at_level("unpack", 0)||0;
 print "2. ", warnings::enabled_at_level("unpack", 1)||0;
 print "3. ", warnings::enabled_at_level("unpack", 2)||0;
 print "4. ", warnings::enabled_at_level("syntax", 0)||0;
 print "5. ", warnings::enabled_at_level("syntax", 1)||0;
 print "6. ", warnings::enabled_at_level("syntax", 2)||0;
 print "7. ", warnings::enabled_at_level("utf8", 0)||0;
 print "8. ", warnings::enabled_at_level("utf8", 1)||0;
 print "9. ", warnings::enabled_at_level("utf8", 2)||0;
 warnings::warn_at_level  ("misc",0,"A mandatory foo warning");
 warnings::warn_at_level  ("misc",1,"A mandatory top-level warning");
 warnings::warnif_at_level("syntax",0,"A conditional syntax warning");
 warnings::warnif_at_level("syntax",1,"A conditional syntax warning");
 warnings::warnif_at_level("utf8",0,"A conditional utf8 warning");
 warnings::warnif_at_level("utf8",1,"A conditional utf8 warning");
}
{ use warnings "syntax"; use warnings FATAL => "utf8"; foo2() }
sub foo2 {
  use warnings FATAL => "syntax"; use warnings "utf8"; bar2()
}
sub bar2 {
 $\="\n";
 print "10. ", warnings::fatal_enabled_at_level("syntax", 0)||0;
 print "11. ", warnings::fatal_enabled_at_level("syntax", 1)||0;
 print "12. ", warnings::fatal_enabled_at_level("utf8", 0)||0;
 print "13. ", warnings::fatal_enabled_at_level("utf8", 1)||0;
 undef $\;
 eval { warnings::warn_at_level  ("syntax",1,"A fatal warning") };
 print "Died: $@" if $@;
 eval { warnings::warnif_at_level("syntax",1,"A fatal syntax warning") };
 print "Died: $@" if $@;
 eval { warnings::warnif_at_level("syntax",2,"A syntax warning") };
 print "Died: $@" if $@;
 eval { warnings::warnif_at_level("utf8",1,"A utf8 warning") };
 print "Died: $@" if $@;
 eval { warnings::warnif_at_level("utf8",2,"A fatal utf8 warning") };
 print "Died: $@" if $@;
}
EXPECTED:
1. 0
2. 0
3. 0
4. 1
5. 0
6. 0
7. 0
8. 1
9. 0
A mandatory foo warning at - line 3.
A mandatory top-level warning at - line 2.
A conditional syntax warning at - line 3.
A conditional utf8 warning at - line 2.
10. 1
11. 0
12. 0
13. 1
Died: A fatal warning at - line 25.
Died: A fatal syntax warning at - line 25.
A syntax warning at - line 23.
A utf8 warning at - line 25.
Died: A fatal utf8 warning at - line 23.
GOT:
1. 1
2. 1
3. 0
4. 1
5. 1
6. 0
7. 1
8. 1
9. 0
A mandatory foo warning at - line 3.
A mandatory top-level warning at - line 2.
A conditional syntax warning at - line 3.
A conditional syntax warning at - line 2.
A conditional utf8 warning at - line 3.
A conditional utf8 warning at - line 2.
10. 1
11. 0
12. 0
13. 1
Died: A fatal warning at - line 25.
Died: A fatal syntax warning at - line 25.
A syntax warning at - line 23.
A utf8 warning at - line 25.
Died: A fatal utf8 warning at - line 23.
# Failed test 233 - _at_level at lib/warnings/9enabled line 1371
FILE: lib/warnings/9uninit ; line 768
PROG: 
use warnings 'uninitialized';
my ($m1, $v);
our ($g1);

$v = *global1{$m1};
$v = prototype $g1;
$v = bless [], $g1;
$v = `$m1`;

$v = $m1 . $g1;
EXPECTED:
Use of uninitialized value $m1 in glob elem at - line 5.
Use of uninitialized value $g1 in subroutine prototype at - line 6.
Use of uninitialized value $g1 in bless at - line 7.
Use of uninitialized value $m1 in quoted execution (``, qx) at - line 8.
Use of uninitialized value $m1 in concatenation (.) or string at - line 10.
Use of uninitialized value $g1 in concatenation (.) or string at - line 10.
GOT:
Name "main::global1" used only once: possible typo at - line 5.
Use of uninitialized value $m1 in glob elem at - line 5.
Use of uninitialized value $g1 in subroutine prototype at - line 6.
Use of uninitialized value $g1 in bless at - line 7.
Explicit blessing to '' (assuming package main) at - line 7.
Use of uninitialized value $m1 in quoted execution (``, qx) at - line 8.
Use of uninitialized value $m1 in concatenation (.) or string at - line 10.
Use of uninitialized value $g1 in concatenation (.) or string at - line 10.
# Failed test 268 - test from lib/warnings/9uninit at line 768 at lib/warnings/9uninit line 768
FILE: lib/warnings/9uninit ; line 786
PROG: 
use warnings 'uninitialized';
my ($m1);
our ($g1, $g2);

/y/;
/$m1/;
/$g1/;

s/y/z/;		undef $_;
s/$m1/z/;	undef $_;
s//$g1/;	undef $_;
s/$m1/$g1/;	undef $_;
tr/x/y/;	undef $_;
tr/x/y/r;	undef $_;

$g2 =~ /y/;
$g2 =~ /$m1/;
$g2 =~ /$g1/;
$g2 =~ s/y/z/;		undef $g2;
$g2 =~ s/$m1/z/;	undef $g2;
$g2 =~ s//$g1/;		undef $g2;
$g2 =~ s/$m1/$g1/;	undef $g2;
$g2 =~ tr/x/y/;		undef $g2; # XXX can't extract var name yet
$g2 =~ tr/x/y/r;	undef $g2; # XXX can't extract var name yet

my $foo = "abc";
$foo =~ /$m1/;
$foo =~ /$g1/;
$foo =~ s/y/z/;
$foo =~ s/$m1/z/;
$foo =~ s//$g1/;
$foo =~ s/$m1/$g1/;
$foo =~ s/./$m1/e;
undef $g1;
$m1 = '$g1';
$foo =~ s//$m1/ee;
undef $m1;
$m1 =~ tr/x/y/;		undef $m1;
$m1 =~ tr/x/y/r;
EXPECTED:
Use of uninitialized value $_ in pattern match (m//) at - line 5.
Use of uninitialized value $m1 in regexp compilation at - line 6.
Use of uninitialized value $_ in pattern match (m//) at - line 6.
Use of uninitialized value $g1 in regexp compilation at - line 7.
Use of uninitialized value $_ in pattern match (m//) at - line 7.
Use of uninitialized value $_ in substitution (s///) at - line 9.
Use of uninitialized value $m1 in regexp compilation at - line 10.
Use of uninitialized value $_ in substitution (s///) at - line 10.
Use of uninitialized value $_ in substitution (s///) at - line 10.
Use of uninitialized value $_ in substitution (s///) at - line 11.
Use of uninitialized value $_ in substitution (s///) at - line 11.
Use of uninitialized value $g1 in substitution iterator at - line 11.
Use of uninitialized value $m1 in regexp compilation at - line 12.
Use of uninitialized value $_ in substitution (s///) at - line 12.
Use of uninitialized value $_ in substitution (s///) at - line 12.
Use of uninitialized value $g1 in substitution iterator at - line 12.
Use of uninitialized value $_ in transliteration (tr///) at - line 13.
Use of uninitialized value $_ in transliteration (tr///) at - line 14.
Use of uninitialized value $g2 in pattern match (m//) at - line 16.
Use of uninitialized value $m1 in regexp compilation at - line 17.
Use of uninitialized value $g2 in pattern match (m//) at - line 17.
Use of uninitialized value $g1 in regexp compilation at - line 18.
Use of uninitialized value $g2 in pattern match (m//) at - line 18.
Use of uninitialized value $g2 in substitution (s///) at - line 19.
Use of uninitialized value $m1 in regexp compilation at - line 20.
Use of uninitialized value $g2 in substitution (s///) at - line 20.
Use of uninitialized value $g2 in substitution (s///) at - line 20.
Use of uninitialized value $g2 in substitution (s///) at - line 21.
Use of uninitialized value $g2 in substitution (s///) at - line 21.
Use of uninitialized value $g1 in substitution iterator at - line 21.
Use of uninitialized value $m1 in regexp compilation at - line 22.
Use of uninitialized value $g2 in substitution (s///) at - line 22.
Use of uninitialized value $g2 in substitution (s///) at - line 22.
Use of uninitialized value $g1 in substitution iterator at - line 22.
Use of uninitialized value in transliteration (tr///) at - line 23.
Use of uninitialized value in transliteration (tr///) at - line 24.
Use of uninitialized value $m1 in regexp compilation at - line 27.
Use of uninitialized value $g1 in regexp compilation at - line 28.
Use of uninitialized value $m1 in regexp compilation at - line 30.
Use of uninitialized value $g1 in substitution iterator at - line 31.
Use of uninitialized value $m1 in regexp compilation at - line 32.
Use of uninitialized value $g1 in substitution iterator at - line 32.
Use of uninitialized value $m1 in substitution (s///) at - line 33.
Use of uninitialized value in substitution iterator at - line 36.
Use of uninitialized value $m1 in transliteration (tr///) at - line 38.
Use of uninitialized value $m1 in transliteration (tr///) at - line 39.
GOT:
Useless use of non-destructive transliteration (tr///r) in void context at - line 14.
Useless use of non-destructive transliteration (tr///r) in void context at - line 39.
Use of uninitialized value $_ in pattern match (m//) at - line 5.
Use of uninitialized value $m1 in regexp compilation at - line 6.
Use of uninitialized value $_ in pattern match (m//) at - line 6.
Use of uninitialized value $g1 in regexp compilation at - line 7.
Use of uninitialized value $_ in pattern match (m//) at - line 7.
Use of uninitialized value $_ in substitution (s///) at - line 9.
Use of uninitialized value $m1 in regexp compilation at - line 10.
Use of uninitialized value $_ in substitution (s///) at - line 10.
Use of uninitialized value $_ in substitution (s///) at - line 10.
Use of uninitialized value $_ in substitution (s///) at - line 11.
Use of uninitialized value $_ in substitution (s///) at - line 11.
Use of uninitialized value $g1 in substitution iterator at - line 11.
Use of uninitialized value $m1 in regexp compilation at - line 12.
Use of uninitialized value $_ in substitution (s///) at - line 12.
Use of uninitialized value $_ in substitution (s///) at - line 12.
Use of uninitialized value $g1 in substitution iterator at - line 12.
Use of uninitialized value $_ in transliteration (tr///) at - line 13.
Use of uninitialized value $_ in transliteration (tr///) at - line 14.
Use of uninitialized value $g2 in pattern match (m//) at - line 16.
Use of uninitialized value $m1 in regexp compilation at - line 17.
Use of uninitialized value $g2 in pattern match (m//) at - line 17.
Use of uninitialized value $g1 in regexp compilation at - line 18.
Use of uninitialized value $g2 in pattern match (m//) at - line 18.
Use of uninitialized value $g2 in substitution (s///) at - line 19.
Use of uninitialized value $m1 in regexp compilation at - line 20.
Use of uninitialized value $g2 in substitution (s///) at - line 20.
Use of uninitialized value $g2 in substitution (s///) at - line 20.
Use of uninitialized value $g2 in substitution (s///) at - line 21.
Use of uninitialized value $g2 in substitution (s///) at - line 21.
Use of uninitialized value $g1 in substitution iterator at - line 21.
Use of uninitialized value $m1 in regexp compilation at - line 22.
Use of uninitialized value $g2 in substitution (s///) at - line 22.
Use of uninitialized value $g2 in substitution (s///) at - line 22.
Use of uninitialized value $g1 in substitution iterator at - line 22.
Use of uninitialized value in transliteration (tr///) at - line 23.
Use of uninitialized value in transliteration (tr///) at - line 24.
Use of uninitialized value $m1 in regexp compilation at - line 27.
Use of uninitialized value $g1 in regexp compilation at - line 28.
Use of uninitialized value $m1 in regexp compilation at - line 30.
Use of uninitialized value $g1 in substitution iterator at - line 31.
Use of uninitialized value $m1 in regexp compilation at - line 32.
Use of uninitialized value $g1 in substitution iterator at - line 32.
Use of uninitialized value $m1 in substitution (s///) at - line 33.
Use of uninitialized value in substitution iterator at - line 36.
Use of uninitialized value $m1 in transliteration (tr///) at - line 38.
Use of uninitialized value $m1 in transliteration (tr///) at - line 39.
# Failed test 269 - test from lib/warnings/9uninit at line 786 at lib/warnings/9uninit line 786
FILE: lib/warnings/9uninit ; line 953
PROG: 
use warnings 'uninitialized';
my ($m1, $v);
our ($g1);

$v = atan2($m1,$g1);
$v = sin $m1;
$v = cos $m1;
$v = rand $m1;
$v = srand $m1;
$v = exp $m1;
$v = eval {log $m1};
$v = sqrt $m1;
$v = hex $m1;
$v = oct $m1;
$v = oct;
$v = length; # does not warn
EXPECTED:
Use of uninitialized value $g1 in atan2 at - line 5.
Use of uninitialized value $m1 in atan2 at - line 5.
Use of uninitialized value $m1 in sin at - line 6.
Use of uninitialized value $m1 in cos at - line 7.
Use of uninitialized value $m1 in rand at - line 8.
Use of uninitialized value $m1 in srand at - line 9.
Use of uninitialized value $m1 in exp at - line 10.
Use of uninitialized value $m1 in log at - line 11.
Use of uninitialized value $m1 in sqrt at - line 12.
Use of uninitialized value $m1 in hex at - line 13.
Use of uninitialized value $m1 in oct at - line 14.
Use of uninitialized value $_ in oct at - line 15.
GOT:
Use of uninitialized value $g1 in atan2 at - line 5.
Use of uninitialized value $m1 in atan2 at - line 5.
Use of uninitialized value $m1 in sin at - line 6.
Use of uninitialized value $m1 in cos at - line 7.
Use of uninitialized value $m1 in rand at - line 8.
Use of uninitialized value $m1 in srand at - line 9.
Integer overflow in srand at - line 9.
Use of uninitialized value $m1 in exp at - line 10.
Use of uninitialized value $m1 in log at - line 11.
Use of uninitialized value $m1 in sqrt at - line 12.
Use of uninitialized value $m1 in hex at - line 13.
Use of uninitialized value $m1 in oct at - line 14.
Use of uninitialized value $_ in oct at - line 15.
# Failed test 276 - test from lib/warnings/9uninit at line 953 at lib/warnings/9uninit line 953
FILE: lib/warnings/9uninit ; line 1158
PROG: 
use warnings 'uninitialized';
my ($v, $GLOB1, $GLOB2);

undef $^A; $v = $^A + ${^FOO}; # should output '^A' not chr(1)
*GLOB1 = *GLOB2;
$v = $GLOB1 + 1;
$v = $GLOB2 + 1;
EXPECTED:
Use of uninitialized value $^FOO in addition (+) at - line 4.
Use of uninitialized value $^A in addition (+) at - line 4.
Use of uninitialized value $GLOB1 in addition (+) at - line 6.
Use of uninitialized value $GLOB2 in addition (+) at - line 7.
GOT:
Name "main::GLOB1" used only once: possible typo at - line 5.
Name "main::GLOB2" used only once: possible typo at - line 5.
Use of uninitialized value $^FOO in addition (+) at - line 4.
Use of uninitialized value $^A in addition (+) at - line 4.
Use of uninitialized value $GLOB1 in addition (+) at - line 6.
Use of uninitialized value $GLOB2 in addition (+) at - line 7.
# Failed test 282 - test from lib/warnings/9uninit at line 1158 at lib/warnings/9uninit line 1158
FILE: lib/warnings/9uninit ; line 1220
PROG: 
use warnings 'uninitialized'; no strict 'refs';
my ($m1, $m2, $foobar);
our ($g1);

open FOO;		# accesses $FOO
my $foo = 'FO';
open($foo."O");	# accesses $FOO
open my $x;		# accesses ${*$x}
open $foobar;	# accesses ${*$foobar}
my $y;
open $y, $m1;
eval { open $y, $m1, $g1 };
open $y, '<', $g1;

sysopen $y, $m1, $m2;
sysopen $y, $m1, $g1, $m2;

my $old = umask;
umask $m1;
umask $g1;
umask $old;

binmode STDIN, $m1;
EXPECTED:
Use of uninitialized value $FOO in open at - line 5.
Use of uninitialized value in open at - line 7.
Use of uninitialized value in open at - line 8.
Use of uninitialized value in open at - line 9.
Use of uninitialized value $m1 in open at - line 11.
Use of uninitialized value $m1 in open at - line 12.
Use of uninitialized value $g1 in open at - line 13.
Use of uninitialized value $m2 in sysopen at - line 15.
Use of uninitialized value $m1 in sysopen at - line 15.
Use of uninitialized value $m2 in sysopen at - line 16.
Use of uninitialized value $g1 in sysopen at - line 16.
Use of uninitialized value $m1 in sysopen at - line 16.
Use of uninitialized value $m1 in umask at - line 19.
Use of uninitialized value $g1 in umask at - line 20.
Use of uninitialized value $m1 in binmode at - line 23.
GOT:
Name "main::FOO" used only once: possible typo at - line 5.
Use of uninitialized value $FOO in open at - line 5.
Use of uninitialized value in open at - line 7.
Use of uninitialized value in open at - line 8.
Use of uninitialized value in open at - line 9.
Use of uninitialized value $m1 in open at - line 11.
Use of uninitialized value $m1 in open at - line 12.
Use of uninitialized value $g1 in open at - line 13.
Use of uninitialized value $m2 in sysopen at - line 15.
Use of uninitialized value $m1 in sysopen at - line 15.
Use of uninitialized value $m2 in sysopen at - line 16.
Use of uninitialized value $g1 in sysopen at - line 16.
Use of uninitialized value $m1 in sysopen at - line 16.
Use of uninitialized value $m1 in umask at - line 19.
Use of uninitialized value $g1 in umask at - line 20.
Use of uninitialized value $m1 in binmode at - line 23.
# Failed test 285 - test from lib/warnings/9uninit at line 1220 at lib/warnings/9uninit line 1220
FILE: lib/warnings/9uninit ; line 1260
PROG: 
use warnings 'uninitialized'; no strict 'refs';
my ($m1);
our ($g1, $g2);

eval { my $x; tie $x, $m1 };

eval { my $x; read    $m1, $x, $g1 };
eval { my $x; read    $m1, $x, $g1, $g2 };
eval { my $x; sysread $m1, $x, $g1 };
eval { my $x; sysread $m1, $x, $g1, $g2 };
EXPECTED:
Use of uninitialized value $m1 in tie at - line 5.
Use of uninitialized value $m1 in ref-to-glob cast at - line 7.
Use of uninitialized value $g1 in read at - line 7.
Use of uninitialized value $m1 in ref-to-glob cast at - line 8.
Use of uninitialized value $g1 in read at - line 8.
Use of uninitialized value $g2 in read at - line 8.
Use of uninitialized value $m1 in ref-to-glob cast at - line 9.
Use of uninitialized value $g1 in sysread at - line 9.
Use of uninitialized value $m1 in ref-to-glob cast at - line 10.
Use of uninitialized value $g1 in sysread at - line 10.
Use of uninitialized value $g2 in sysread at - line 10.
GOT:
Use of uninitialized value $m1 in tie at - line 5.
Use of uninitialized value $m1 in ref-to-glob cast at - line 7.
Use of uninitialized value $g1 in read at - line 7.
read() on unopened filehandle at - line 7.
Use of uninitialized value $m1 in ref-to-glob cast at - line 8.
Use of uninitialized value $g1 in read at - line 8.
Use of uninitialized value $g2 in read at - line 8.
read() on unopened filehandle at - line 8.
Use of uninitialized value $m1 in ref-to-glob cast at - line 9.
Use of uninitialized value $g1 in sysread at - line 9.
sysread() on unopened filehandle at - line 9.
Use of uninitialized value $m1 in ref-to-glob cast at - line 10.
Use of uninitialized value $g1 in sysread at - line 10.
Use of uninitialized value $g2 in sysread at - line 10.
sysread() on unopened filehandle at - line 10.
# Failed test 286 - test from lib/warnings/9uninit at line 1260 at lib/warnings/9uninit line 1260
FILE: lib/warnings/9uninit ; line 1311
PROG: 
use warnings 'uninitialized'; no strict;
my ($m1);
our ($g1);

eval { my $x; seek    $x,$m1, $g1 };
eval { my $x; sysseek $x,$m1, $g1 };
eval { syswrite $m1, $g1 }; # logic changed - now won't try $g1 if $m1 is bad
# eval { syswrite STDERR, $m1 };        # XXX under utf8, can give
# eval { syswrite STDERR, $m1, $g1 };   # XXX different warnings
# eval { syswrite STDERR, $m1, $g1, $m2 };
eval { my $x; socket $x, $m1, $g1, $m2 };
eval { my ($x,$y); socketpair $x, $y, $m1, $g1, $m2 };
EXPECTED:
Use of uninitialized value $x in ref-to-glob cast at - line 5.
Use of uninitialized value $g1 in seek at - line 5.
Use of uninitialized value $m1 in seek at - line 5.
Use of uninitialized value $x in ref-to-glob cast at - line 6.
Use of uninitialized value $g1 in sysseek at - line 6.
Use of uninitialized value $m1 in sysseek at - line 6.
Use of uninitialized value $m1 in ref-to-glob cast at - line 7.
Use of uninitialized value $m2 in socket at - line 11.
Use of uninitialized value $g1 in socket at - line 11.
Use of uninitialized value $m1 in socket at - line 11.
Use of uninitialized value $m2 in socketpair at - line 12.
Use of uninitialized value $g1 in socketpair at - line 12.
Use of uninitialized value $m1 in socketpair at - line 12.
GOT:
Use of uninitialized value $x in ref-to-glob cast at - line 5.
Use of uninitialized value $g1 in seek at - line 5.
Use of uninitialized value $m1 in seek at - line 5.
seek() on unopened filehandle at - line 5.
Use of uninitialized value $x in ref-to-glob cast at - line 6.
Use of uninitialized value $g1 in sysseek at - line 6.
Use of uninitialized value $m1 in sysseek at - line 6.
sysseek() on unopened filehandle at - line 6.
Use of uninitialized value $m1 in ref-to-glob cast at - line 7.
syswrite() on unopened filehandle at - line 7.
Use of uninitialized value $m2 in socket at - line 11.
Use of uninitialized value $g1 in socket at - line 11.
Use of uninitialized value $m1 in socket at - line 11.
Use of uninitialized value $m2 in socketpair at - line 12.
Use of uninitialized value $g1 in socketpair at - line 12.
Use of uninitialized value $m1 in socketpair at - line 12.
# Failed test 288 - test from lib/warnings/9uninit at line 1311 at lib/warnings/9uninit line 1311
FILE: lib/warnings/9uninit ; line 1338
PROG: 
no strict; use Config; 
BEGIN { 
  if ( !$Config{d_flock} &&
       !$Config{d_fcntl_can_lock} &&
       !$Config{d_lockf} ) {
    print <<EOM ;
SKIPPED
# flock not present
EOM
    exit ;
  } 
}
use warnings 'uninitialized';
our ($g1);

eval { my $x; flock $x, $g1 };
EXPECTED:
Use of uninitialized value $x in ref-to-glob cast at - line 16.
Use of uninitialized value $g1 in flock at - line 16.
GOT:
Use of uninitialized value $x in ref-to-glob cast at - line 16.
Use of uninitialized value $g1 in flock at - line 16.
flock() on unopened filehandle at - line 16.
# Failed test 289 - test from lib/warnings/9uninit at line 1338 at lib/warnings/9uninit line 1338
FILE: lib/warnings/9uninit ; line 1574
PROG: 
use warnings 'uninitialized';
if ($^O eq 'MSWin32') {
    print <<'EOM';
SKIPPED
# `` produces an error on STDERR on Win32
EOM
    exit;
} 
my $nocmd  = '/no/such/command';
my $v;
$v = 1 + `$nocmd`;
EXPECTED:
Use of uninitialized value in addition (+) at - line 11.
GOT:
Can't exec "/no/such/command": No such file or directory at - line 11.
Use of uninitialized value in addition (+) at - line 11.
# Failed test 301 - test from lib/warnings/9uninit at line 1574 at lib/warnings/9uninit line 1574
FILE: lib/warnings/9uninit ; line 1588
PROG: 
use warnings 'uninitialized';
if ($^O eq 'MSWin32') {
    print <<'EOM';
SKIPPED
# qx produces an error on STDERR on Win32
EOM
    exit;
} 
my $nocmd  = '/no/such/command';
my $v;
$v = 1 + qx($nocmd);
EXPECTED:
Use of uninitialized value in addition (+) at - line 11.
GOT:
Can't exec "/no/such/command": No such file or directory at - line 11.
Use of uninitialized value in addition (+) at - line 11.
# Failed test 302 - test from lib/warnings/9uninit at line 1588 at lib/warnings/9uninit line 1588
FILE: lib/warnings/9uninit ; line 1645
PROG: 
use warnings 'uninitialized';
my $nofile = '/no/such/file';
my $v;
$v = 1 + binmode($nofile);
EXPECTED:
Use of uninitialized value in addition (+) at - line 4.
GOT:
binmode() on unopened filehandle at - line 4.
Use of uninitialized value in addition (+) at - line 4.
# Failed test 307 - test from lib/warnings/9uninit at line 1645 at lib/warnings/9uninit line 1645
FILE: lib/warnings/9uninit ; line 1659
PROG: 
use warnings 'uninitialized';
my $nofile = '/no/such/file';
my $v;
$v = 1 + getc($nofile);
EXPECTED:
Use of uninitialized value in addition (+) at - line 4.
GOT:
getc() on unopened filehandle at - line 4.
Use of uninitialized value in addition (+) at - line 4.
# Failed test 309 - test from lib/warnings/9uninit at line 1659 at lib/warnings/9uninit line 1659
FILE: lib/warnings/9uninit ; line 1666
PROG: 
use warnings 'uninitialized';
my $nofile = '/no/such/file';
my $v;
$v = 1 + sysread($nofile, my $buf,1);
EXPECTED:
Use of uninitialized value in addition (+) at - line 4.
GOT:
sysread() on unopened filehandle at - line 4.
Use of uninitialized value in addition (+) at - line 4.
# Failed test 310 - test from lib/warnings/9uninit at line 1666 at lib/warnings/9uninit line 1666
FILE: lib/warnings/9uninit ; line 1673
PROG: 
use warnings 'uninitialized';
my $nofile = '/no/such/file';
my $v; my $buf;
$v = 1 + eval { send($nofile, $buf,0) };
EXPECTED:
Use of uninitialized value in addition (+) at - line 4.
GOT:
send() on unopened socket at - line 4.
Use of uninitialized value in addition (+) at - line 4.
# Failed test 311 - test from lib/warnings/9uninit at line 1673 at lib/warnings/9uninit line 1673
FILE: lib/warnings/9uninit ; line 1898
PROG: 
use warnings 'uninitialized';
my $v;
my $emptys = "";
$v = 1 + substr($emptys,2,1);
EXPECTED:
Use of uninitialized value in addition (+) at - line 4.
GOT:
substr outside of string at - line 4.
Use of uninitialized value in addition (+) at - line 4.
# Failed test 343 - test from lib/warnings/9uninit at line 1898 at lib/warnings/9uninit line 1898
FILE: lib/warnings/9uninit ; line 1919
PROG: 
use warnings 'uninitialized';
my $v;
my @emptya;
$v = 1 + sort @emptya;
EXPECTED:
Use of uninitialized value in addition (+) at - line 4.
GOT:
Useless use of sort in scalar context at - line 4.
Use of uninitialized value in addition (+) at - line 4.
# Failed test 346 - test from lib/warnings/9uninit at line 1919 at lib/warnings/9uninit line 1919
FILE: lib/warnings/9uninit ; line 1953
PROG: 
use warnings 'uninitialized';
my $v;
my $f = "";
$v = 1 + (print STDIN $f); # print to STDIN returns undef
EXPECTED:
Use of uninitialized value in addition (+) at - line 4.
GOT:
Filehandle STDIN opened only for input at - line 4.
Use of uninitialized value in addition (+) at - line 4.
# Failed test 351 - test from lib/warnings/9uninit at line 1953 at lib/warnings/9uninit line 1953
FILE: lib/warnings/9uninit ; line 1960
PROG: 
use warnings 'uninitialized';
my $v;
my $f = "";
$v = 1 + (printf STDIN "%s", $f);
EXPECTED:
Use of uninitialized value in addition (+) at - line 4.
GOT:
Filehandle STDIN opened only for input at - line 4.
Use of uninitialized value in addition (+) at - line 4.
# Failed test 352 - test from lib/warnings/9uninit at line 1960 at lib/warnings/9uninit line 1960
FILE: lib/warnings/9uninit ; line 1967
PROG: 
use warnings 'uninitialized';
my $v;
my $f = "";
{ use feature 'say'; $v = 1 + (say STDIN "%s", $f); }
EXPECTED:
Use of uninitialized value in addition (+) at - line 4.
GOT:
Filehandle STDIN opened only for input at - line 4.
Use of uninitialized value in addition (+) at - line 4.
# Failed test 353 - test from lib/warnings/9uninit at line 1967 at lib/warnings/9uninit line 1967
FILE: lib/warnings/9uninit ; line 1996
PROG: 
use warnings 'uninitialized';
delete $::{'Foo::'};
my $moo = $Foo::BAR + 42;
__END__
EXPECTED:
Use of uninitialized value in addition (+) at - line 3.
GOT:
Name "Foo::BAR" used only once: possible typo at - line 3.
Use of uninitialized value in addition (+) at - line 3.
# Failed test 357 - test from lib/warnings/9uninit at line 1996 at lib/warnings/9uninit line 1996
FILE: lib/warnings/9uninit ; line 2003
PROG: 
use warnings 'uninitialized';
use constant {u=>undef, v=>undef};
sub foo () {u}
sub foo () {v}
EXPECTED:

GOT:
Constant subroutine foo redefined at - line 4.
# Failed test 358 - test from lib/warnings/9uninit at line 2003 at lib/warnings/9uninit line 2003
FILE: lib/warnings/9uninit ; line 2016
PROG: 
# [perl #103766]
use warnings 'uninitialized'; no strict 'vars';
"@{[ $x ]}";
EXPECTED:
Use of uninitialized value in join or string at - line 3.
GOT:
Useless use of join or string in void context at - line 3.
Name "main::x" used only once: possible typo at - line 3.
Use of uninitialized value in join or string at - line 3.
# Failed test 360 - test from lib/warnings/9uninit at line 2016 at lib/warnings/9uninit line 2016
FILE: lib/warnings/9uninit ; line 2063
PROG: 
use warnings 'uninitialized';

my $v = int(${qr||}); # sv_2iv on a regexp
$v = 1.1 *  ${qr||}; # sv_2nv on a regexp
$v = ${qr||} << 2; # sv_2uv on a regexp

sub TIESCALAR{bless[]}
sub FETCH {${qr||}}
tie my $t, "";
$v = 1.1 * $t; # sv_2nv on a tied regexp

EXPECTED:

GOT:
Argument "(?^:)" isn't numeric in int at - line 3.
Argument "(?^:)" isn't numeric in int at - line 3.
Argument "(?^:)" isn't numeric in multiplication (*) at - line 4.
Argument "(?^:)" isn't numeric in multiplication (*) at - line 4.
Argument "(?^:)" isn't numeric in left bitshift (<<) at - line 5.
Argument "(?^:)" isn't numeric in multiplication (*) at - line 10.
Argument "(?^:)" isn't numeric in multiplication (*) at - line 10.
# Failed test 363 - SvPOK && SvLEN==0 should not produce uninit warning at lib/warnings/9uninit line 2063
FILE: lib/warnings/9uninit ; line 2175
PROG: 
use warnings 'uninitialized';
my @a;
# aelem + const
use constant foo => \0;
$SIG{__WARN__} = sub {
 print STDERR
   $_[0] =~ /\$a\[([^]]+)]/ && $1 == foo
       ? "ok\n"
       : ("$1 != ",0+foo,"\n")
};
() = "$a[foo]";
undef $SIG{__WARN__};

# Multideref
() = "$a[140688675223280]";
EXPECTED:
ok
Use of uninitialized value $a[140688675223280] in string at - line 15.
GOT:
Use of uninitialized value $1 in concatenation (.) or string at - line 6.
 != 34389509728
ok
Use of uninitialized value $a[140688675223280] in string at - line 15.
# Failed test 367 - 64-bit array subscripts at lib/warnings/9uninit line 2175
FILE: lib/warnings/9uninit ; line 2210
PROG: 
# RT #134275
# This was SEGVing due to the multideref code in S_find_uninit_var not
# handling a GV with a null gp_hv slot.
use warnings 'uninitialized';
my (%foo, $x);
"" =~ /$foo{a}${*foo=*bar}$x/;
EXPECTED:
Use of uninitialized value in regexp compilation at - line 6.
Use of uninitialized value in regexp compilation at - line 6.
Use of uninitialized value $x in regexp compilation at - line 6.
GOT:
Name "main::foo" used only once: possible typo at - line 6.
Name "main::bar" used only once: possible typo at - line 6.
Use of uninitialized value in regexp compilation at - line 6.
Use of uninitialized value in regexp compilation at - line 6.
Use of uninitialized value $x in regexp compilation at - line 6.
# Failed test 370 - test from lib/warnings/9uninit at line 2210 at lib/warnings/9uninit line 2210
FILE: lib/warnings/doio ; line 71
PROG: 
# doio.c [Perl_do_open9]
use warnings 'io' ;
open(F, "|      ");
no warnings 'io' ;
open(G, "|      ");
EXPECTED:
Missing command in piped open at - line 3.
GOT:
Name "main::F" used only once: possible typo at - line 3.
Name "main::G" used only once: possible typo at - line 5.
Missing command in piped open at - line 3.
# Failed test 372 - test from lib/warnings/doio at line 71 at lib/warnings/doio line 71
FILE: lib/warnings/doio ; line 79
PROG: 
# doio.c [Perl_do_open9]
use warnings 'io' ;
open(F, "      |");
no warnings 'io' ;
open(G, "      |");
EXPECTED:
Missing command in piped open at - line 3.
GOT:
Name "main::F" used only once: possible typo at - line 3.
Name "main::G" used only once: possible typo at - line 5.
Missing command in piped open at - line 3.
# Failed test 373 - test from lib/warnings/doio at line 79 at lib/warnings/doio line 79
FILE: lib/warnings/doio ; line 87
PROG: 
# doio.c [Perl_do_open9]
use warnings 'io' ;
open(F, "<true\ncd");
open(G, "<truecd\n");
open(H, "<truecd\n\0");
no warnings 'io' ;
open(H, "<true\ncd");
open(I, "<truecd\n");
open(I, "<truecd\n\0");
EXPECTED:
Unsuccessful open on filename containing newline at - line 4.
Unsuccessful open on filename containing newline at - line 5.
GOT:
Name "main::G" used only once: possible typo at - line 4.
Name "main::F" used only once: possible typo at - line 3.
Unsuccessful open on filename containing newline at - line 4.
Unsuccessful open on filename containing newline at - line 5.
# Failed test 374 - test from lib/warnings/doio at line 87 at lib/warnings/doio line 87
FILE: lib/warnings/doio ; line 100
PROG: 
# doio.c [Perl_do_close] <<TODO
use warnings 'unopened' ;
close "fred" ;
no warnings 'unopened' ;
close "joe" ;
EXPECTED:
close() on unopened filehandle fred at - line 3.
GOT:
Name "main::joe" used only once: possible typo at - line 5.
Name "main::fred" used only once: possible typo at - line 3.
close() on unopened filehandle fred at - line 3.
# Failed test 375 - test from lib/warnings/doio at line 100 at lib/warnings/doio line 100
FILE: lib/warnings/doio ; line 108
PROG: 
# doio.c [Perl_do_tell Perl_do_seek Perl_do_sysseek Perl_my_stat]
use warnings 'io' ;
close STDIN ;
tell(STDIN);
$a = seek(STDIN,1,1);
$a = sysseek(STDIN,1,1);
-x STDIN ;
stat(STDIN) ;
$a = "fred";
tell($a);
seek($a,1,1);
sysseek($a,1,1);
-x $a; # ok
stat($a); # ok
no warnings 'io' ;
close STDIN ;
tell(STDIN);
$a = seek(STDIN,1,1);
$a = sysseek(STDIN,1,1);
-x STDIN ;
stat(STDIN) ;
$a = "fred";
tell($a);
seek($a,1,1);
sysseek($a,1,1);
-x $a;
stat($a);
EXPECTED:
tell() on closed filehandle STDIN at - line 4.
seek() on closed filehandle STDIN at - line 5.
sysseek() on closed filehandle STDIN at - line 6.
-x on closed filehandle STDIN at - line 7.
stat() on closed filehandle STDIN at - line 8.
tell() on unopened filehandle at - line 10.
seek() on unopened filehandle at - line 11.
sysseek() on unopened filehandle at - line 12.
GOT:
Useless use of tell in void context at - line 4.
Useless use of tell in void context at - line 10.
Useless use of tell in void context at - line 17.
Useless use of tell in void context at - line 23.
tell() on closed filehandle STDIN at - line 4.
seek() on closed filehandle STDIN at - line 5.
sysseek() on closed filehandle STDIN at - line 6.
-x on closed filehandle STDIN at - line 7.
stat() on closed filehandle STDIN at - line 8.
tell() on unopened filehandle at - line 10.
seek() on unopened filehandle at - line 11.
sysseek() on unopened filehandle at - line 12.
# Failed test 376 - test from lib/warnings/doio at line 108 at lib/warnings/doio line 108
FILE: lib/warnings/doio ; line 174
PROG: 
# doio.c [Perl_my_stat]
use warnings 'io'; my $fh;
-l STDIN;
-l $fh;
open $fh, $0 or die "# $!";
-l $fh;
no warnings 'io';
-l STDIN;
-l $fh;
close $fh;
EXPECTED:
Use of -l on filehandle STDIN at - line 3.
Use of -l on filehandle $fh at - line 6.
GOT:
Use of -l on filehandle STDIN at - line 3.
Use of uninitialized value $fh in -l at - line 4.
Use of -l on filehandle $fh at - line 6.
# Failed test 379 - test from lib/warnings/doio at line 174 at lib/warnings/doio line 174
FILE: lib/warnings/doio ; line 399
PROG: 
open(my $i, "foo\0bar");
use warnings 'io';
open(my $i, "foo\0bar");
EXPECTED:
Invalid \0 character in pathname for open: foo\0bar at - line 3.
GOT:
"my" variable $i masks earlier declaration in same scope at - line 3.
Invalid \0 character in pathname for open: foo\0bar at - line 1.
Invalid \0 character in pathname for open: foo\0bar at - line 3.
# Failed test 392 - test from lib/warnings/doio at line 399 at lib/warnings/doio line 399
FILE: lib/warnings/doio ; line 405
PROG: 
chmod(0, "foo\0bar");
use warnings 'io';
chmod(0, "foo\0bar");
EXPECTED:
Invalid \0 character in pathname for chmod: foo\0bar at - line 3.
GOT:
Invalid \0 character in pathname for chmod: foo\0bar at - line 1.
Invalid \0 character in pathname for chmod: foo\0bar at - line 3.
# Failed test 393 - test from lib/warnings/doio at line 405 at lib/warnings/doio line 405
FILE: lib/warnings/doio ; line 411
PROG: 
unlink("foo\0bar", "foo\0bar2");
use warnings 'io';
unlink("foo\0bar", "foo\0bar2");
EXPECTED:
Invalid \0 character in pathname for unlink: foo\0bar at - line 3.
Invalid \0 character in pathname for unlink: foo\0bar2 at - line 3.
GOT:
Invalid \0 character in pathname for unlink: foo\0bar at - line 1.
Invalid \0 character in pathname for unlink: foo\0bar2 at - line 1.
Invalid \0 character in pathname for unlink: foo\0bar at - line 3.
Invalid \0 character in pathname for unlink: foo\0bar2 at - line 3.
# Failed test 394 - test from lib/warnings/doio at line 411 at lib/warnings/doio line 411
FILE: lib/warnings/doio ; line 418
PROG: 
utime(-1, -1, "foo\0bar", "foo\0bar2");
use warnings 'io';
utime(-1, -1, "foo\0bar", "foo\0bar2");
EXPECTED:
Invalid \0 character in pathname for utime: foo\0bar at - line 3.
Invalid \0 character in pathname for utime: foo\0bar2 at - line 3.
GOT:
Invalid \0 character in pathname for utime: foo\0bar at - line 1.
Invalid \0 character in pathname for utime: foo\0bar2 at - line 1.
Invalid \0 character in pathname for utime: foo\0bar at - line 3.
Invalid \0 character in pathname for utime: foo\0bar2 at - line 3.
# Failed test 395 - test from lib/warnings/doio at line 418 at lib/warnings/doio line 418
FILE: lib/warnings/doio ; line 425
PROG: 
my @foo = glob "foo\0bar";
use warnings 'io';
my @bar = glob "foo\0bar";
EXPECTED:
Invalid \0 character in pattern for glob: foo\0bar at - line 3.
GOT:
Invalid \0 character in pattern for glob: foo\0bar at - line 1.
Invalid \0 character in pattern for glob: foo\0bar at - line 3.
# Failed test 396 - test from lib/warnings/doio at line 425 at lib/warnings/doio line 425
FILE: lib/warnings/gv ; line 40
PROG: 
# gv.c
use warnings 'syntax' ;
{
    package AA;    # this is a deliberate error
#   package A;     # should be this
    sub foo {
       print STDERR "I'm in A's foo\n";
    }
}
{
   package B;
   sub foo {
       print STDERR "I'm in B's foo\n";
   }
}
@C::ISA = qw(A B);
$a = bless [], 'C';
$a->foo();
__END__
EXPECTED:
While trying to resolve method call C->foo() can not locate package "A" yet it is mentioned in @C::ISA (perhaps you forgot to load "A"?) at - line 18.
I'm in B's foo
GOT:
While trying to resolve method call C->foo() can not locate package "A" yet it is mentioned in @C::ISA (perhaps you forgot to load "A"?) at - line 18.
I'm in B's foo
Can't locate package A for @C::ISA during global destruction.
# Failed test 401 - test from lib/warnings/gv at line 40 at lib/warnings/gv line 40
FILE: lib/warnings/gv ; line 63
PROG: 
# gv.c
no warnings 'syntax' ;
{
    package AA;    # this is a deliberate error
#   package A;     # should be this
    sub foo {
       print STDERR "I'm in A's foo\n";
    }
}
{
   package B;
   sub foo {
       print STDERR "I'm in B's foo\n";
   }
}
@C::ISA = qw(A B);
$a = bless [], 'C';
$a->foo();
__END__
EXPECTED:
I'm in B's foo
GOT:
I'm in B's foo
Can't locate package A for @C::ISA during global destruction.
# Failed test 402 - test from lib/warnings/gv at line 63 at lib/warnings/gv line 63
FILE: lib/warnings/mg ; line 65
PROG: 
# mg.c
use warnings 'uninitialized';
'foo' =~ /(foo)/;
oct $3;
EXPECTED:
Use of uninitialized value $3 in oct at - line 4.
GOT:
Useless use of oct in void context at - line 4.
Use of uninitialized value $3 in oct at - line 4.
# Failed test 424 - test from lib/warnings/mg at line 65 at lib/warnings/mg line 65
FILE: lib/warnings/mg ; line 72
PROG: 
# mg.c
use warnings 'uninitialized';
oct $3;
EXPECTED:
Use of uninitialized value $3 in oct at - line 3.
GOT:
Useless use of oct in void context at - line 3.
Use of uninitialized value $3 in oct at - line 3.
# Failed test 425 - test from lib/warnings/mg at line 72 at lib/warnings/mg line 72
FILE: lib/warnings/op ; line 156
PROG: 
# op.c
use warnings 'syntax' ; my (@a, %a, $x);
@a[3];
@a{3};
@a["]"];
@a{"]"};
@a["}"];
@a{"}"};
@a{$_};
@a{--$_};
@a[$_];
@a[--$_];
delete @a[$x];
delete @a{$x};
no warnings 'syntax' ;
@a[3];
@a{3};
delete @a[$x];
delete @a{$x};
EXPECTED:
Scalar value @a[3] better written as $a[3] at - line 3.
Scalar value @a{3} better written as $a{3} at - line 4.
Scalar value @a["]"] better written as $a["]"] at - line 5.
Scalar value @a{"]"} better written as $a{"]"} at - line 6.
Scalar value @a["}"] better written as $a["}"] at - line 7.
Scalar value @a{"}"} better written as $a{"}"} at - line 8.
Scalar value @a{...} better written as $a{...} at - line 9.
Scalar value @a{...} better written as $a{...} at - line 10.
Scalar value @a[...] better written as $a[...] at - line 11.
Scalar value @a[...] better written as $a[...] at - line 12.
Scalar value @a[...] better written as $a[...] at - line 13.
Scalar value @a{...} better written as $a{...} at - line 14.
GOT:
Useless use of array slice in void context at - line 3.
Useless use of hash slice in void context at - line 4.
Useless use of array slice in void context at - line 5.
Useless use of hash slice in void context at - line 6.
Useless use of array slice in void context at - line 7.
Useless use of hash slice in void context at - line 8.
Useless use of hash slice in void context at - line 9.
Useless use of hash slice in void context at - line 10.
Useless use of array slice in void context at - line 11.
Useless use of array slice in void context at - line 12.
Useless use of array slice in void context at - line 16.
Useless use of hash slice in void context at - line 17.
Scalar value @a[3] better written as $a[3] at - line 3.
Scalar value @a{3} better written as $a{3} at - line 4.
Scalar value @a["]"] better written as $a["]"] at - line 5.
Scalar value @a{"]"} better written as $a{"]"} at - line 6.
Scalar value @a["}"] better written as $a["}"] at - line 7.
Scalar value @a{"}"} better written as $a{"}"} at - line 8.
Scalar value @a{...} better written as $a{...} at - line 9.
Scalar value @a{...} better written as $a{...} at - line 10.
Scalar value @a[...] better written as $a[...] at - line 11.
Scalar value @a[...] better written as $a[...] at - line 12.
Scalar value @a[...] better written as $a[...] at - line 13.
Scalar value @a{...} better written as $a{...} at - line 14.
Argument "]" isn't numeric in array slice at - line 5.
Argument "}" isn't numeric in array slice at - line 7.
Use of uninitialized value $_ in hash slice at - line 9.
Use of uninitialized value $x in delete at - line 13.
Use of uninitialized value $x in delete at - line 14.
Use of uninitialized value $x in delete at - line 18.
Use of uninitialized value $x in delete at - line 19.
# Failed test 432 - test from lib/warnings/op at line 156 at lib/warnings/op line 156
FILE: lib/warnings/op ; line 189
PROG: 
# op.c
# [perl #132645]
use warnings 'syntax';
my @inf; @inf[3];
EXPECTED:
Scalar value @inf[3] better written as $inf[3] at - line 4.
GOT:
Useless use of array slice in void context at - line 4.
Scalar value @inf[3] better written as $inf[3] at - line 4.
# Failed test 433 - test from lib/warnings/op at line 189 at lib/warnings/op line 189
FILE: lib/warnings/op ; line 196
PROG: 
# op.c
use utf8;
use open qw( :utf8 :std );
my (@à, %à);
use warnings 'syntax' ;
@à[3];
@à{3};
no warnings 'syntax' ;
@à[3];
@à{3};
EXPECTED:
Scalar value @à[3] better written as $à[3] at - line 6.
Scalar value @à{3} better written as $à{3} at - line 7.
GOT:
Useless use of array slice in void context at - line 6.
Useless use of hash slice in void context at - line 7.
Useless use of array slice in void context at - line 9.
Useless use of hash slice in void context at - line 10.
Scalar value @à[3] better written as $à[3] at - line 6.
Scalar value @à{3} better written as $à{3} at - line 7.
# Failed test 434 - test from lib/warnings/op at line 196 at lib/warnings/op line 196
FILE: lib/warnings/op ; line 210
PROG: 
# op.c
use utf8;
use open qw( :utf8 :std );
use warnings 'syntax' ;
my (@ぁ, %ぁ);
@ぁ[3];
@ぁ{3};
no warnings 'syntax' ;
@ぁ[3];
@ぁ{3};
EXPECTED:
Scalar value @ぁ[3] better written as $ぁ[3] at - line 6.
Scalar value @ぁ{3} better written as $ぁ{3} at - line 7.
GOT:
Useless use of array slice in void context at - line 6.
Useless use of hash slice in void context at - line 7.
Useless use of array slice in void context at - line 9.
Useless use of hash slice in void context at - line 10.
Scalar value @ぁ[3] better written as $ぁ[3] at - line 6.
Scalar value @ぁ{3} better written as $ぁ{3} at - line 7.
# Failed test 435 - test from lib/warnings/op at line 210 at lib/warnings/op line 210
FILE: lib/warnings/op ; line 224
PROG: 
# op.c
# "Scalar value better written as" false positives
# [perl #28380] and [perl #114024]
use warnings 'syntax';
my (%h, %X, %f, %a, $re, @h, @X, @f, @a);
# hashes
@h{qw"a b c"} = 1..3;
@h{qw'a b c'} = 1..3;
@h{qw$a b c$} = 1..3;
@h{qw-a b c-} = 1..3;
@h{qw#a b c#} = 1..3;
@h{ qw#a b c#} = 1..3;
@h{	qw#a b c#} = 1..3; # tab before qw
@h{qw "a"};
@h{ qw "a"};
@h{	qw "a"};
sub foo() { qw/abc def ghi/ }
@X{+foo} = ( 1 .. 3 );
$_ = "abc"; @X{split ""} = ( 1 .. 3 );
my @s = @f{"}", "a"};
my @s = @f{"]", "a"};
@a{$],0};
@_{0} = /(.*)/;
@h{m "$re"};
@h{qx ""} if 0;
@h{glob ""};
@h{readline ""};
@h{m ""};
use constant phoo => 1..3;
@h{+phoo}; # rv2av
@h{sort foo};
@h{reverse foo};
@h{caller 0};
@h{lstat ""};
@h{stat ""};
@h{readdir ""};
@h{system ""} if 0;
@h{+times} if 0;
@h{localtime 0};
@h{gmtime 0};
@h{eval ""};

# arrays
@h[qw"a b c"] = 1..3;
@h[qw'a b c'] = 1..3;
@h[qw$a b c$] = 1..3;
@h[qw-a b c-] = 1..3;
@h[qw#a b c#] = 1..3;
@h[ qw#a b c#] = 1..3;
@h[	qw#a b c#] = 1..3; # tab before qw
@h[qw "a"];
@h[ qw "a"];
@h[	qw "a"];
sub foo() { qw/abc def ghi/ }
@X[+foo] = ( 1 .. 3 );
$_ = "abc"; @X[split ""] = ( 1 .. 3 );
my @s = @f["}", "a"];
my @s = @f["]", "a"];
@a[$],0];
@_[0] = /(.*)/;
@h[m "$re"];
@h[qx ""] if 0;
@h[glob ""];
@h[readline ""];
@h[m ""];
use constant phoo => 1..3;
@h[+phoo]; # rv2av
@h[sort foo];
@h[reverse foo];
@h[caller 0];
@h[lstat ""];
@h[stat ""];
@h[readdir ""];
@h[system ""] if 0;
@h[+times] if 0;
@h[localtime 0];
@h[gmtime 0];
@h[eval ""];
EXPECTED:

GOT:
"my" variable @s masks earlier declaration in same scope at - line 21.
Subroutine foo redefined at - line 54.
"my" variable @s masks earlier declaration in same scope at - line 57.
"my" variable @s masks earlier declaration in same scope at - line 58.
Useless use of hash slice in void context at - line 14.
Useless use of hash slice in void context at - line 15.
Useless use of hash slice in void context at - line 16.
Useless use of hash slice in void context at - line 22.
Useless use of hash slice in void context at - line 24.
Useless use of hash slice in void context at - line 26.
Useless use of hash slice in void context at - line 27.
Useless use of hash slice in void context at - line 28.
Useless use of hash slice in void context at - line 30.
Useless use of hash slice in void context at - line 31.
Useless use of hash slice in void context at - line 32.
Useless use of hash slice in void context at - line 33.
Useless use of hash slice in void context at - line 34.
Useless use of hash slice in void context at - line 35.
Useless use of hash slice in void context at - line 36.
Useless use of hash slice in void context at - line 39.
Useless use of hash slice in void context at - line 40.
Useless use of hash slice in void context at - line 41.
Useless use of array slice in void context at - line 51.
Useless use of array slice in void context at - line 52.
Useless use of array slice in void context at - line 53.
Useless use of array slice in void context at - line 59.
Useless use of array slice in void context at - line 61.
Useless use of array slice in void context at - line 63.
Useless use of array slice in void context at - line 64.
Useless use of array slice in void context at - line 65.
Useless use of array slice in void context at - line 67.
Useless use of array slice in void context at - line 68.
Useless use of array slice in void context at - line 69.
Useless use of array slice in void context at - line 70.
Useless use of array slice in void context at - line 71.
Useless use of array slice in void context at - line 72.
Useless use of array slice in void context at - line 73.
Useless use of array slice in void context at - line 76.
Useless use of array slice in void context at - line 77.
Useless use of array slice in void context at - line 78.
Use of uninitialized value $re in regexp compilation at - line 24.
readline() on unopened filehandle at - line 27.
readdir() attempted on invalid dirhandle  at - line 36.
Argument "a" isn't numeric in array slice at - line 44.
Argument "b" isn't numeric in array slice at - line 44.
Argument "c" isn't numeric in array slice at - line 44.
Argument "a" isn't numeric in array slice at - line 45.
Argument "b" isn't numeric in array slice at - line 45.
Argument "c" isn't numeric in array slice at - line 45.
Argument "a" isn't numeric in array slice at - line 46.
Argument "b" isn't numeric in array slice at - line 46.
Argument "c" isn't numeric in array slice at - line 46.
Argument "a" isn't numeric in array slice at - line 47.
Argument "b" isn't numeric in array slice at - line 47.
Argument "c" isn't numeric in array slice at - line 47.
Argument "a" isn't numeric in array slice at - line 48.
Argument "b" isn't numeric in array slice at - line 48.
Argument "c" isn't numeric in array slice at - line 48.
Argument "a" isn't numeric in array slice at - line 49.
Argument "b" isn't numeric in array slice at - line 49.
Argument "c" isn't numeric in array slice at - line 49.
Argument "a" isn't numeric in array slice at - line 50.
Argument "b" isn't numeric in array slice at - line 50.
Argument "c" isn't numeric in array slice at - line 50.
Argument "a" isn't numeric in array slice at - line 51.
Argument "a" isn't numeric in array slice at - line 52.
Argument "a" isn't numeric in array slice at - line 53.
Argument "abc" isn't numeric in array slice at - line 55.
Argument "def" isn't numeric in array slice at - line 55.
Argument "ghi" isn't numeric in array slice at - line 55.
Argument "a" isn't numeric in array slice at - line 56.
Argument "b" isn't numeric in array slice at - line 56.
Argument "c" isn't numeric in array slice at - line 56.
Argument "}" isn't numeric in array slice at - line 57.
Argument "a" isn't numeric in array slice at - line 57.
Argument "]" isn't numeric in array slice at - line 58.
Argument "a" isn't numeric in array slice at - line 58.
Use of uninitialized value $re in regexp compilation at - line 61.
Argument "abc" isn't numeric in array slice at - line 61.
readline() on unopened filehandle at - line 64.
Argument "abc" isn't numeric in array slice at - line 65.
Argument "foo" isn't numeric in array slice at - line 68.
Argument "ghi" isn't numeric in array slice at - line 69.
Argument "def" isn't numeric in array slice at - line 69.
Argument "abc" isn't numeric in array slice at - line 69.
readdir() attempted on invalid dirhandle  at - line 73.
# Failed test 436 - test from lib/warnings/op at line 224 at lib/warnings/op line 224
FILE: lib/warnings/op ; line 368
PROG: 
# op.c
use warnings 'void' ; no warnings 'experimental::smartmatch'; no strict; close STDIN ;
#line 2
1 x 3 ;			# OP_REPEAT (folded)
(1) x 3 ;		# OP_REPEAT
			# OP_GVSV
wantarray ; 		# OP_WANTARRAY
			# OP_GV
			# OP_PADSV
			# OP_PADAV
			# OP_PADHV
			# OP_PADANY
			# OP_AV2ARYLEN
ref ;			# OP_REF
\(@a) ;			# OP_REFGEN
\$a ;			# OP_SREFGEN
defined $a ;		# OP_DEFINED
hex $a ;		# OP_HEX
oct $a ;		# OP_OCT
length $a ;		# OP_LENGTH
substr $a,1 ;		# OP_SUBSTR
vec $a,1,2 ;		# OP_VEC
index $a,1,2 ;		# OP_INDEX
rindex $a,1,2 ;		# OP_RINDEX
sprintf $a ;		# OP_SPRINTF
$a[0] ;			# OP_AELEM
			# OP_AELEMFAST
@a[0] ;			# OP_ASLICE
#values %a ;		# OP_VALUES
#keys %a ;		# OP_KEYS
$a{0} ;			# OP_HELEM
@a{0} ;			# OP_HSLICE
unpack "a", "a" ;	# OP_UNPACK
pack $a,"" ;		# OP_PACK
join "", @_ ;		# OP_JOIN
(@a)[0,1] ;		# OP_LSLICE
			# OP_ANONLIST
			# OP_ANONHASH
sort(1,2) ;		# OP_SORT
reverse(1,2) ;		# OP_REVERSE
			# OP_RANGE
			# OP_FLIP
(1 ..2) ;		# OP_FLOP
caller ;		# OP_CALLER
fileno STDIN ;		# OP_FILENO
eof STDIN ;		# OP_EOF
tell STDIN ;		# OP_TELL
readlink 1;		# OP_READLINK
time ;			# OP_TIME
localtime ;		# OP_LOCALTIME
gmtime ;		# OP_GMTIME
eval { getgrnam 1 };	# OP_GGRNAM
eval { getgrgid 1 };	# OP_GGRGID
eval { getpwnam 1 };	# OP_GPWNAM
eval { getpwuid 1 };	# OP_GPWUID
prototype "foo";	# OP_PROTOTYPE
$a ~~ $b;		# OP_SMARTMATCH
$a <=> $b;		# OP_NCMP
"dsatrewq";
"diatrewq";
"igatrewq";
use 5.015;
__SUB__	;		# OP_RUNCV
[];			# OP_ANONLIST
grep /42/, (1,2);	# OP_GREP. Not warned about (yet). Grep git logs for void_unusual to see why...
EXPECTED:
Useless use of a constant ("111") in void context at - line 2.
Useless use of repeat (x) in void context at - line 3.
Useless use of wantarray in void context at - line 5.
Useless use of reference-type operator in void context at - line 12.
Useless use of reference constructor in void context at - line 13.
Useless use of single ref constructor in void context at - line 14.
Useless use of defined operator in void context at - line 15.
Useless use of hex in void context at - line 16.
Useless use of oct in void context at - line 17.
Useless use of length in void context at - line 18.
Useless use of substr in void context at - line 19.
Useless use of vec in void context at - line 20.
Useless use of index in void context at - line 21.
Useless use of rindex in void context at - line 22.
Useless use of sprintf in void context at - line 23.
Useless use of array element in void context at - line 24.
Useless use of array slice in void context at - line 26.
Useless use of hash element in void context at - line 29.
Useless use of hash slice in void context at - line 30.
Useless use of unpack in void context at - line 31.
Useless use of pack in void context at - line 32.
Useless use of join or string in void context at - line 33.
Useless use of list slice in void context at - line 34.
Useless use of sort in void context at - line 37.
Useless use of reverse in void context at - line 38.
Useless use of range (or flop) in void context at - line 41.
Useless use of caller in void context at - line 42.
Useless use of fileno in void context at - line 43.
Useless use of eof in void context at - line 44.
Useless use of tell in void context at - line 45.
Useless use of readlink in void context at - line 46.
Useless use of time in void context at - line 47.
Useless use of localtime in void context at - line 48.
Useless use of gmtime in void context at - line 49.
Useless use of getgrnam in void context at - line 50.
Useless use of getgrgid in void context at - line 51.
Useless use of getpwnam in void context at - line 52.
Useless use of getpwuid in void context at - line 53.
Useless use of subroutine prototype in void context at - line 54.
Useless use of smart match in void context at - line 55.
Useless use of numeric comparison (<=>) in void context at - line 56.
Useless use of a constant ("dsatrewq") in void context at - line 57.
Useless use of a constant ("diatrewq") in void context at - line 58.
Useless use of a constant ("igatrewq") in void context at - line 59.
Useless use of __SUB__ in void context at - line 61.
Useless use of anonymous array ([]) in void context at - line 62.
GOT:
Useless use of a constant ("111") in void context at - line 2.
Useless use of repeat (x) in void context at - line 3.
Useless use of wantarray in void context at - line 5.
Useless use of reference-type operator in void context at - line 12.
Useless use of reference constructor in void context at - line 13.
Useless use of single ref constructor in void context at - line 14.
Useless use of defined operator in void context at - line 15.
Useless use of hex in void context at - line 16.
Useless use of oct in void context at - line 17.
Useless use of length in void context at - line 18.
Useless use of substr in void context at - line 19.
Useless use of vec in void context at - line 20.
Useless use of index in void context at - line 21.
Useless use of rindex in void context at - line 22.
Useless use of sprintf in void context at - line 23.
Useless use of array element in void context at - line 24.
Useless use of array slice in void context at - line 26.
Useless use of hash element in void context at - line 29.
Useless use of hash slice in void context at - line 30.
Useless use of unpack in void context at - line 31.
Useless use of pack in void context at - line 32.
Useless use of join or string in void context at - line 33.
Useless use of list slice in void context at - line 34.
Useless use of sort in void context at - line 37.
Useless use of reverse in void context at - line 38.
Useless use of range (or flop) in void context at - line 41.
Useless use of caller in void context at - line 42.
Useless use of fileno in void context at - line 43.
Useless use of eof in void context at - line 44.
Useless use of tell in void context at - line 45.
Useless use of readlink in void context at - line 46.
Useless use of time in void context at - line 47.
Useless use of localtime in void context at - line 48.
Useless use of gmtime in void context at - line 49.
Useless use of getgrnam in void context at - line 50.
Useless use of getgrgid in void context at - line 51.
Useless use of getpwnam in void context at - line 52.
Useless use of getpwuid in void context at - line 53.
Useless use of subroutine prototype in void context at - line 54.
Useless use of smart match in void context at - line 55.
Useless use of numeric comparison (<=>) in void context at - line 56.
Useless use of a constant ("dsatrewq") in void context at - line 57.
Useless use of a constant ("diatrewq") in void context at - line 58.
Useless use of a constant ("igatrewq") in void context at - line 59.
Useless use of __SUB__ in void context at - line 61.
Useless use of anonymous array ([]) in void context at - line 62.
Scalar value @a[0] better written as $a[0] at - line 26.
Scalar value @a{0} better written as $a{0} at - line 30.
Use of uninitialized value $a in hex at - line 16.
Use of uninitialized value $a in oct at - line 17.
Use of uninitialized value $a in substr at - line 19.
substr outside of string at - line 19.
Use of uninitialized value $a in vec at - line 20.
Use of uninitialized value $a in index at - line 21.
Use of uninitialized value $a in rindex at - line 22.
Use of uninitialized value $a in sprintf at - line 23.
Use of uninitialized value $a in pack at - line 32.
Use of uninitialized value $. in range (or flip) at - line 41.
tell() on closed filehandle STDIN at - line 45.
Use of uninitialized value $b in numeric comparison (<=>) at - line 56.
Use of uninitialized value $a in numeric comparison (<=>) at - line 56.
# Failed test 446 - test from lib/warnings/op at line 368 at lib/warnings/op line 368
FILE: lib/warnings/op ; line 489
PROG: 
# op.c
no warnings 'void' ; no strict; close STDIN ;
1 x 3 ;			# OP_REPEAT
			# OP_GVSV
wantarray ; 		# OP_WANTARRAY
			# OP_GV
			# OP_PADSV
			# OP_PADAV
			# OP_PADHV
			# OP_PADANY
			# OP_AV2ARYLEN
ref ;			# OP_REF
\@a ;			# OP_REFGEN
\$a ;			# OP_SREFGEN
defined $a ;		# OP_DEFINED
hex $a ;		# OP_HEX
oct $a ;		# OP_OCT
length $a ;		# OP_LENGTH
substr $a,1 ;		# OP_SUBSTR
vec $a,1,2 ;		# OP_VEC
index $a,1,2 ;		# OP_INDEX
rindex $a,1,2 ;		# OP_RINDEX
sprintf $a ;		# OP_SPRINTF
$a[0] ;			# OP_AELEM
			# OP_AELEMFAST
@a[0] ;			# OP_ASLICE
#values %a ;		# OP_VALUES
#keys %a ;		# OP_KEYS
$a{0} ;			# OP_HELEM
@a{0} ;			# OP_HSLICE
unpack "a", "a" ;	# OP_UNPACK
pack $a,"" ;		# OP_PACK
join "" ;		# OP_JOIN
(@a)[0,1] ;		# OP_LSLICE
			# OP_ANONLIST
			# OP_ANONHASH
sort(1,2) ;		# OP_SORT
reverse(1,2) ;		# OP_REVERSE
			# OP_RANGE
			# OP_FLIP
(1 ..2) ;		# OP_FLOP
caller ;		# OP_CALLER
fileno STDIN ;		# OP_FILENO
eof STDIN ;		# OP_EOF
tell STDIN ;		# OP_TELL
readlink 1;		# OP_READLINK
time ;			# OP_TIME
localtime ;		# OP_LOCALTIME
gmtime ;		# OP_GMTIME
eval { getgrnam 1 };	# OP_GGRNAM
eval { getgrgid 1 };	# OP_GGRGID
eval { getpwnam 1 };	# OP_GPWNAM
eval { getpwuid 1 };	# OP_GPWUID
prototype "foo";	# OP_PROTOTYPE
EXPECTED:

GOT:
Scalar value @a[0] better written as $a[0] at - line 26.
Scalar value @a{0} better written as $a{0} at - line 30.
Use of uninitialized value $a in hex at - line 16.
Use of uninitialized value $a in oct at - line 17.
Use of uninitialized value $a in substr at - line 19.
substr outside of string at - line 19.
Use of uninitialized value $a in vec at - line 20.
Use of uninitialized value $a in index at - line 21.
Use of uninitialized value $a in rindex at - line 22.
Use of uninitialized value $a in sprintf at - line 23.
Use of uninitialized value $a in pack at - line 32.
Use of uninitialized value $. in range (or flip) at - line 41.
tell() on closed filehandle STDIN at - line 45.
# Failed test 448 - test from lib/warnings/op at line 489 at lib/warnings/op line 489
FILE: lib/warnings/op ; line 553
PROG: 
# op.c
use warnings 'void' ;
use Config ;
BEGIN {
    if ( ! $Config{d_telldir}) {
        print <<EOM ;
SKIPPED
# telldir not present
EOM
        exit 
    }
}
telldir 1 ;		# OP_TELLDIR
no warnings 'void' ;
telldir 1 ;		# OP_TELLDIR
EXPECTED:
Useless use of telldir in void context at - line 13.
GOT:
Useless use of telldir in void context at - line 13.
telldir() attempted on invalid dirhandle 1 at - line 13.
telldir() attempted on invalid dirhandle 1 at - line 15.
# Failed test 450 - test from lib/warnings/op at line 553 at lib/warnings/op line 553
FILE: lib/warnings/op ; line 868
PROG: 
# op.c
use warnings 'parenthesis' ; no strict 'vars';
my $a, $b = (1,2);
my @foo,%bar,	$quux; # there's a TAB here
my $x, $y or print;
my $p, *q;
no warnings 'parenthesis' ;
my $c, $d = (1,2);
EXPECTED:
Parentheses missing around "my" list at - line 3.
Parentheses missing around "my" list at - line 4.
GOT:
Parentheses missing around "my" list at - line 3.
Parentheses missing around "my" list at - line 4.
Useless use of a variable in void context at - line 4.
Useless use of a variable in void context at - line 4.
Useless use of a variable in void context at - line 6.
Name "main::q" used only once: possible typo at - line 6.
Name "main::quux" used only once: possible typo at - line 4.
Name "main::y" used only once: possible typo at - line 5.
Name "main::d" used only once: possible typo at - line 8.
Name "main::bar" used only once: possible typo at - line 4.
Use of uninitialized value $_ in print at - line 5.
# Failed test 462 - test from lib/warnings/op at line 868 at lib/warnings/op line 868
FILE: lib/warnings/op ; line 880
PROG: 
# op.c
use warnings 'parenthesis' ; no strict 'vars';
our $a, $b = (1,2);
our $p, *q;
no warnings 'parenthesis' ;
our $c, $d = (1,2);
EXPECTED:
Parentheses missing around "our" list at - line 3.
GOT:
Parentheses missing around "our" list at - line 3.
Useless use of a variable in void context at - line 4.
Name "main::q" used only once: possible typo at - line 4.
Name "main::d" used only once: possible typo at - line 6.
# Failed test 463 - test from lib/warnings/op at line 880 at lib/warnings/op line 880
FILE: lib/warnings/op ; line 889
PROG: 
# op.c
use warnings 'parenthesis' ; no strict 'vars';
local $a, $b = (1,2);
local *f, *g;
local $p, *q;
no warnings 'parenthesis' ;
local $c, $d = (1,2);
EXPECTED:
Parentheses missing around "local" list at - line 3.
Parentheses missing around "local" list at - line 4.
Parentheses missing around "local" list at - line 5.
GOT:
Parentheses missing around "local" list at - line 3.
Parentheses missing around "local" list at - line 4.
Parentheses missing around "local" list at - line 5.
Useless use of a variable in void context at - line 4.
Useless use of a variable in void context at - line 5.
Name "main::f" used only once: possible typo at - line 4.
Name "main::g" used only once: possible typo at - line 4.
Name "main::q" used only once: possible typo at - line 5.
Name "main::d" used only once: possible typo at - line 7.
Name "main::p" used only once: possible typo at - line 5.
Name "main::c" used only once: possible typo at - line 7.
# Failed test 464 - test from lib/warnings/op at line 889 at lib/warnings/op line 889
FILE: lib/warnings/op ; line 901
PROG: 
# op.c
use warnings 'bareword' ; no strict 'subs';
print (ABC || 1) ;
no warnings 'bareword' ;
print (ABC || 1) ;
EXPECTED:
Bareword found in conditional at - line 3.
GOT:
Bareword found in conditional at - line 3.
print() on unopened filehandle ABC at - line 3.
print() on unopened filehandle ABC at - line 5.
# Failed test 465 - test from lib/warnings/op at line 901 at lib/warnings/op line 901
FILE: lib/warnings/op ; line 981
PROG: 
# op.c
use warnings 'misc';
open FH, "<abc";
($_ = <FH>) // ($_ = 1);
opendir DH, ".";
my %a = (1,2,3,4) ;
EXPECTED:

GOT:
Name "main::DH" used only once: possible typo at - line 5.
readline() on closed filehandle FH at - line 4.
# Failed test 472 - test from lib/warnings/op at line 981 at lib/warnings/op line 981
FILE: lib/warnings/op ; line 1024
PROG: 
# op.c
use feature "lexical_subs", "state";
my sub fred () { 1 }
sub fred { 2 };
my sub george { 1 }
sub george () { 2 } # should *not* produce redef warnings by default
state sub phred () { 1 }
sub phred { 2 };
state sub jorge { 1 }
sub jorge () { 2 } # should *not* produce redef warnings by default
EXPECTED:
Prototype mismatch: sub fred () vs none at - line 4.
Constant subroutine fred redefined at - line 4.
Prototype mismatch: sub george: none vs () at - line 6.
Prototype mismatch: sub phred () vs none at - line 8.
Constant subroutine phred redefined at - line 8.
Prototype mismatch: sub jorge: none vs () at - line 10.
GOT:
Prototype mismatch: sub fred () vs none at - line 4.
Constant subroutine fred redefined at - line 4.
Prototype mismatch: sub george: none vs () at - line 6.
Subroutine george redefined at - line 6.
Prototype mismatch: sub phred () vs none at - line 8.
Constant subroutine phred redefined at - line 8.
Prototype mismatch: sub jorge: none vs () at - line 10.
Subroutine jorge redefined at - line 10.
# Failed test 477 - test from lib/warnings/op at line 1024 at lib/warnings/op line 1024
FILE: lib/warnings/op ; line 1092
PROG: 
# op.c
defined(my @a = (1,2,3));
EXPECTED:

GOT:
Useless use of defined operator in void context at - line 2.
# Failed test 485 - test from lib/warnings/op at line 1092 at lib/warnings/op line 1092
FILE: lib/warnings/op ; line 1115
PROG: 
# op.c
no strict; sub fred();
sub fred($) {}
use constant foo=>bar; sub foo(@);
use constant bav=>bar; sub bav(); # no warning
sub btu; sub btu();
EXPECTED:
Prototype mismatch: sub main::fred () vs ($) at - line 3.
Prototype mismatch: sub foo () vs (@) at - line 4.
Prototype mismatch: sub btu: none vs () at - line 6.
GOT:
Prototype mismatch: sub main::fred () vs ($) at - line 3.
Unquoted string "bar" may clash with future reserved word at - line 4.
Prototype mismatch: sub foo () vs (@) at - line 4.
Unquoted string "bar" may clash with future reserved word at - line 5.
Prototype mismatch: sub btu: none vs () at - line 6.
# Failed test 489 - test from lib/warnings/op at line 1115 at lib/warnings/op line 1115
FILE: lib/warnings/op ; line 1162
PROG: 
# op.c [S_simplify_sort]
# [perl #86136]
no strict; my @tests = split /^/, '
  sort {$a <=> $b} @a;
  sort {$a cmp $b} @a;
  { use integer; sort {$a <=> $b} @a}
  sort {$b <=> $a} @a;
  sort {$b cmp $a} @a;
  { use integer; sort {$b <=> $a} @a}
';
for my $pragma ('use warnings "syntax";', '') {
  for my $vars ('', 'my $a;', 'my $b;', 'my ($a,$b);') {
    for my $inner_stmt ('', 'print;', 'func();') {
      eval "#line " . ++$line . "01 -\n$pragma\n$vars"
          . join "", map s/sort \{\K/$inner_stmt/r, @tests;
      $@ and die;
    }
  }
}
sub func{}
use warnings 'syntax';
my $a;
# These used to be errors!
sort { ; } $a <=> $b;
sort { ; } $a, "<=>";
sort { ; } $a, $cmp;
sort $a, $b if $cmpany_name;
sort if $a + $cmp;
sort @t; $a + $cmp;
EXPECTED:
"my $a" used in sort comparison at - line 403.
"my $a" used in sort comparison at - line 404.
"my $a" used in sort comparison at - line 405.
"my $a" used in sort comparison at - line 406.
"my $a" used in sort comparison at - line 407.
"my $a" used in sort comparison at - line 408.
"my $a" used in sort comparison at - line 503.
"my $a" used in sort comparison at - line 504.
"my $a" used in sort comparison at - line 505.
"my $a" used in sort comparison at - line 506.
"my $a" used in sort comparison at - line 507.
"my $a" used in sort comparison at - line 508.
"my $a" used in sort comparison at - line 603.
"my $a" used in sort comparison at - line 604.
"my $a" used in sort comparison at - line 605.
"my $a" used in sort comparison at - line 606.
"my $a" used in sort comparison at - line 607.
"my $a" used in sort comparison at - line 608.
"my $b" used in sort comparison at - line 703.
"my $b" used in sort comparison at - line 704.
"my $b" used in sort comparison at - line 705.
"my $b" used in sort comparison at - line 706.
"my $b" used in sort comparison at - line 707.
"my $b" used in sort comparison at - line 708.
"my $b" used in sort comparison at - line 803.
"my $b" used in sort comparison at - line 804.
"my $b" used in sort comparison at - line 805.
"my $b" used in sort comparison at - line 806.
"my $b" used in sort comparison at - line 807.
"my $b" used in sort comparison at - line 808.
"my $b" used in sort comparison at - line 903.
"my $b" used in sort comparison at - line 904.
"my $b" used in sort comparison at - line 905.
"my $b" used in sort comparison at - line 906.
"my $b" used in sort comparison at - line 907.
"my $b" used in sort comparison at - line 908.
"my $a" used in sort comparison at - line 1003.
"my $b" used in sort comparison at - line 1003.
"my $a" used in sort comparison at - line 1004.
"my $b" used in sort comparison at - line 1004.
"my $a" used in sort comparison at - line 1005.
"my $b" used in sort comparison at - line 1005.
"my $b" used in sort comparison at - line 1006.
"my $a" used in sort comparison at - line 1006.
"my $b" used in sort comparison at - line 1007.
"my $a" used in sort comparison at - line 1007.
"my $b" used in sort comparison at - line 1008.
"my $a" used in sort comparison at - line 1008.
"my $a" used in sort comparison at - line 1103.
"my $b" used in sort comparison at - line 1103.
"my $a" used in sort comparison at - line 1104.
"my $b" used in sort comparison at - line 1104.
"my $a" used in sort comparison at - line 1105.
"my $b" used in sort comparison at - line 1105.
"my $b" used in sort comparison at - line 1106.
"my $a" used in sort comparison at - line 1106.
"my $b" used in sort comparison at - line 1107.
"my $a" used in sort comparison at - line 1107.
"my $b" used in sort comparison at - line 1108.
"my $a" used in sort comparison at - line 1108.
"my $a" used in sort comparison at - line 1203.
"my $b" used in sort comparison at - line 1203.
"my $a" used in sort comparison at - line 1204.
"my $b" used in sort comparison at - line 1204.
"my $a" used in sort comparison at - line 1205.
"my $b" used in sort comparison at - line 1205.
"my $b" used in sort comparison at - line 1206.
"my $a" used in sort comparison at - line 1206.
"my $b" used in sort comparison at - line 1207.
"my $a" used in sort comparison at - line 1207.
"my $b" used in sort comparison at - line 1208.
"my $a" used in sort comparison at - line 1208.
GOT:
Useless use of sort in void context at - line 24.
Useless use of sort in void context at - line 25.
Useless use of sort in void context at - line 26.
Useless use of sort in void context at - line 27.
Useless use of sort in void context at - line 28.
Useless use of sort in void context at - line 29.
Useless use of addition (+) in void context at - line 29.
Name "main::t" used only once: possible typo at - line 29.
Name "main::cmpany_name" used only once: possible typo at - line 27.
Name "main::line" used only once: possible typo at - line 14.
Useless use of sort in void context at - line 103.
Useless use of sort in void context at - line 104.
Useless use of sort in void context at - line 105.
Useless use of sort in void context at - line 106.
Useless use of sort in void context at - line 107.
Useless use of sort in void context at - line 203.
Useless use of sort in void context at - line 204.
Useless use of sort in void context at - line 205.
Useless use of sort in void context at - line 206.
Useless use of sort in void context at - line 207.
Useless use of sort in void context at - line 303.
Useless use of sort in void context at - line 304.
Useless use of sort in void context at - line 305.
Useless use of sort in void context at - line 306.
Useless use of sort in void context at - line 307.
"my $a" used in sort comparison at - line 403.
"my $a" used in sort comparison at - line 404.
"my $a" used in sort comparison at - line 405.
"my $a" used in sort comparison at - line 406.
"my $a" used in sort comparison at - line 407.
"my $a" used in sort comparison at - line 408.
Useless use of sort in void context at - line 403.
Useless use of sort in void context at - line 404.
Useless use of sort in void context at - line 405.
Useless use of sort in void context at - line 406.
Useless use of sort in void context at - line 407.
"my $a" used in sort comparison at - line 503.
"my $a" used in sort comparison at - line 504.
"my $a" used in sort comparison at - line 505.
"my $a" used in sort comparison at - line 506.
"my $a" used in sort comparison at - line 507.
"my $a" used in sort comparison at - line 508.
Useless use of sort in void context at - line 503.
Useless use of sort in void context at - line 504.
Useless use of sort in void context at - line 505.
Useless use of sort in void context at - line 506.
Useless use of sort in void context at - line 507.
"my $a" used in sort comparison at - line 603.
"my $a" used in sort comparison at - line 604.
"my $a" used in sort comparison at - line 605.
"my $a" used in sort comparison at - line 606.
"my $a" used in sort comparison at - line 607.
"my $a" used in sort comparison at - line 608.
Useless use of sort in void context at - line 603.
Useless use of sort in void context at - line 604.
Useless use of sort in void context at - line 605.
Useless use of sort in void context at - line 606.
Useless use of sort in void context at - line 607.
"my $b" used in sort comparison at - line 703.
"my $b" used in sort comparison at - line 704.
"my $b" used in sort comparison at - line 705.
"my $b" used in sort comparison at - line 706.
"my $b" used in sort comparison at - line 707.
"my $b" used in sort comparison at - line 708.
Useless use of sort in void context at - line 703.
Useless use of sort in void context at - line 704.
Useless use of sort in void context at - line 705.
Useless use of sort in void context at - line 706.
Useless use of sort in void context at - line 707.
"my $b" used in sort comparison at - line 803.
"my $b" used in sort comparison at - line 804.
"my $b" used in sort comparison at - line 805.
"my $b" used in sort comparison at - line 806.
"my $b" used in sort comparison at - line 807.
"my $b" used in sort comparison at - line 808.
Useless use of sort in void context at - line 803.
Useless use of sort in void context at - line 804.
Useless use of sort in void context at - line 805.
Useless use of sort in void context at - line 806.
Useless use of sort in void context at - line 807.
"my $b" used in sort comparison at - line 903.
"my $b" used in sort comparison at - line 904.
"my $b" used in sort comparison at - line 905.
"my $b" used in sort comparison at - line 906.
"my $b" used in sort comparison at - line 907.
"my $b" used in sort comparison at - line 908.
Useless use of sort in void context at - line 903.
Useless use of sort in void context at - line 904.
Useless use of sort in void context at - line 905.
Useless use of sort in void context at - line 906.
Useless use of sort in void context at - line 907.
"my $a" used in sort comparison at - line 1003.
"my $b" used in sort comparison at - line 1003.
"my $a" used in sort comparison at - line 1004.
"my $b" used in sort comparison at - line 1004.
"my $a" used in sort comparison at - line 1005.
"my $b" used in sort comparison at - line 1005.
"my $b" used in sort comparison at - line 1006.
"my $a" used in sort comparison at - line 1006.
"my $b" used in sort comparison at - line 1007.
"my $a" used in sort comparison at - line 1007.
"my $b" used in sort comparison at - line 1008.
"my $a" used in sort comparison at - line 1008.
Useless use of sort in void context at - line 1003.
Useless use of sort in void context at - line 1004.
Useless use of sort in void context at - line 1005.
Useless use of sort in void context at - line 1006.
Useless use of sort in void context at - line 1007.
"my $a" used in sort comparison at - line 1103.
"my $b" used in sort comparison at - line 1103.
"my $a" used in sort comparison at - line 1104.
"my $b" used in sort comparison at - line 1104.
"my $a" used in sort comparison at - line 1105.
"my $b" used in sort comparison at - line 1105.
"my $b" used in sort comparison at - line 1106.
"my $a" used in sort comparison at - line 1106.
"my $b" used in sort comparison at - line 1107.
"my $a" used in sort comparison at - line 1107.
"my $b" used in sort comparison at - line 1108.
"my $a" used in sort comparison at - line 1108.
Useless use of sort in void context at - line 1103.
Useless use of sort in void context at - line 1104.
Useless use of sort in void context at - line 1105.
Useless use of sort in void context at - line 1106.
Useless use of sort in void context at - line 1107.
"my $a" used in sort comparison at - line 1203.
"my $b" used in sort comparison at - line 1203.
"my $a" used in sort comparison at - line 1204.
"my $b" used in sort comparison at - line 1204.
"my $a" used in sort comparison at - line 1205.
"my $b" used in sort comparison at - line 1205.
"my $b" used in sort comparison at - line 1206.
"my $a" used in sort comparison at - line 1206.
"my $b" used in sort comparison at - line 1207.
"my $a" used in sort comparison at - line 1207.
"my $b" used in sort comparison at - line 1208.
"my $a" used in sort comparison at - line 1208.
Useless use of sort in void context at - line 1203.
Useless use of sort in void context at - line 1204.
Useless use of sort in void context at - line 1205.
Useless use of sort in void context at - line 1206.
Useless use of sort in void context at - line 1207.
Useless use of sort in void context at - line 1303.
Useless use of sort in void context at - line 1304.
Useless use of sort in void context at - line 1305.
Useless use of sort in void context at - line 1306.
Useless use of sort in void context at - line 1307.
Useless use of sort in void context at - line 1403.
Useless use of sort in void context at - line 1404.
Useless use of sort in void context at - line 1405.
Useless use of sort in void context at - line 1406.
Useless use of sort in void context at - line 1407.
Useless use of sort in void context at - line 1503.
Useless use of sort in void context at - line 1504.
Useless use of sort in void context at - line 1505.
Useless use of sort in void context at - line 1506.
Useless use of sort in void context at - line 1507.
"my $a" used in sort comparison at - line 1603.
"my $a" used in sort comparison at - line 1604.
"my $a" used in sort comparison at - line 1605.
"my $a" used in sort comparison at - line 1606.
"my $a" used in sort comparison at - line 1607.
"my $a" used in sort comparison at - line 1608.
Useless use of sort in void context at - line 1603.
Useless use of sort in void context at - line 1604.
Useless use of sort in void context at - line 1605.
Useless use of sort in void context at - line 1606.
Useless use of sort in void context at - line 1607.
"my $a" used in sort comparison at - line 1703.
"my $a" used in sort comparison at - line 1704.
"my $a" used in sort comparison at - line 1705.
"my $a" used in sort comparison at - line 1706.
"my $a" used in sort comparison at - line 1707.
"my $a" used in sort comparison at - line 1708.
Useless use of sort in void context at - line 1703.
Useless use of sort in void context at - line 1704.
Useless use of sort in void context at - line 1705.
Useless use of sort in void context at - line 1706.
Useless use of sort in void context at - line 1707.
"my $a" used in sort comparison at - line 1803.
"my $a" used in sort comparison at - line 1804.
"my $a" used in sort comparison at - line 1805.
"my $a" used in sort comparison at - line 1806.
"my $a" used in sort comparison at - line 1807.
"my $a" used in sort comparison at - line 1808.
Useless use of sort in void context at - line 1803.
Useless use of sort in void context at - line 1804.
Useless use of sort in void context at - line 1805.
Useless use of sort in void context at - line 1806.
Useless use of sort in void context at - line 1807.
"my $b" used in sort comparison at - line 1903.
"my $b" used in sort comparison at - line 1904.
"my $b" used in sort comparison at - line 1905.
"my $b" used in sort comparison at - line 1906.
"my $b" used in sort comparison at - line 1907.
"my $b" used in sort comparison at - line 1908.
Useless use of sort in void context at - line 1903.
Useless use of sort in void context at - line 1904.
Useless use of sort in void context at - line 1905.
Useless use of sort in void context at - line 1906.
Useless use of sort in void context at - line 1907.
"my $b" used in sort comparison at - line 2003.
"my $b" used in sort comparison at - line 2004.
"my $b" used in sort comparison at - line 2005.
"my $b" used in sort comparison at - line 2006.
"my $b" used in sort comparison at - line 2007.
"my $b" used in sort comparison at - line 2008.
Useless use of sort in void context at - line 2003.
Useless use of sort in void context at - line 2004.
Useless use of sort in void context at - line 2005.
Useless use of sort in void context at - line 2006.
Useless use of sort in void context at - line 2007.
"my $b" used in sort comparison at - line 2103.
"my $b" used in sort comparison at - line 2104.
"my $b" used in sort comparison at - line 2105.
"my $b" used in sort comparison at - line 2106.
"my $b" used in sort comparison at - line 2107.
"my $b" used in sort comparison at - line 2108.
Useless use of sort in void context at - line 2103.
Useless use of sort in void context at - line 2104.
Useless use of sort in void context at - line 2105.
Useless use of sort in void context at - line 2106.
Useless use of sort in void context at - line 2107.
"my $a" used in sort comparison at - line 2203.
"my $b" used in sort comparison at - line 2203.
"my $a" used in sort comparison at - line 2204.
"my $b" used in sort comparison at - line 2204.
"my $a" used in sort comparison at - line 2205.
"my $b" used in sort comparison at - line 2205.
"my $b" used in sort comparison at - line 2206.
"my $a" used in sort comparison at - line 2206.
"my $b" used in sort comparison at - line 2207.
"my $a" used in sort comparison at - line 2207.
"my $b" used in sort comparison at - line 2208.
"my $a" used in sort comparison at - line 2208.
Useless use of sort in void context at - line 2203.
Useless use of sort in void context at - line 2204.
Useless use of sort in void context at - line 2205.
Useless use of sort in void context at - line 2206.
Useless use of sort in void context at - line 2207.
"my $a" used in sort comparison at - line 2303.
"my $b" used in sort comparison at - line 2303.
"my $a" used in sort comparison at - line 2304.
"my $b" used in sort comparison at - line 2304.
"my $a" used in sort comparison at - line 2305.
"my $b" used in sort comparison at - line 2305.
"my $b" used in sort comparison at - line 2306.
"my $a" used in sort comparison at - line 2306.
"my $b" used in sort comparison at - line 2307.
"my $a" used in sort comparison at - line 2307.
"my $b" used in sort comparison at - line 2308.
"my $a" used in sort comparison at - line 2308.
Useless use of sort in void context at - line 2303.
Useless use of sort in void context at - line 2304.
Useless use of sort in void context at - line 2305.
Useless use of sort in void context at - line 2306.
Useless use of sort in void context at - line 2307.
"my $a" used in sort comparison at - line 2403.
"my $b" used in sort comparison at - line 2403.
"my $a" used in sort comparison at - line 2404.
"my $b" used in sort comparison at - line 2404.
"my $a" used in sort comparison at - line 2405.
"my $b" used in sort comparison at - line 2405.
"my $b" used in sort comparison at - line 2406.
"my $a" used in sort comparison at - line 2406.
"my $b" used in sort comparison at - line 2407.
"my $a" used in sort comparison at - line 2407.
"my $b" used in sort comparison at - line 2408.
"my $a" used in sort comparison at - line 2408.
Useless use of sort in void context at - line 2403.
Useless use of sort in void context at - line 2404.
Useless use of sort in void context at - line 2405.
Useless use of sort in void context at - line 2406.
Useless use of sort in void context at - line 2407.
Use of uninitialized value $b in numeric comparison (<=>) at - line 24.
Use of uninitialized value $a in numeric comparison (<=>) at - line 24.
Use of uninitialized value $cmp in addition (+) at - line 28.
Use of uninitialized value $a in addition (+) at - line 28.
Use of uninitialized value $cmp in addition (+) at - line 29.
Use of uninitialized value $a in addition (+) at - line 29.
# Failed test 493 - test from lib/warnings/op at line 1162 at lib/warnings/op line 1162
FILE: lib/warnings/op ; line 1265
PROG: 
# op.c [S_simplify_sort]
use warnings 'syntax'; use 5.01;
state $a;
sort { $a <=> $b } ();
EXPECTED:
"state $a" used in sort comparison at - line 4.
GOT:
"state $a" used in sort comparison at - line 4.
Useless use of sort in void context at - line 4.
# Failed test 494 - test from lib/warnings/op at line 1265 at lib/warnings/op line 1265
FILE: lib/warnings/op ; line 1272
PROG: 
# op.c [Perl_ck_cmp]
use warnings 'syntax' ; no strict 'vars';
no warnings 'deprecated';
@a = $[ < 5;
@a = $[ > 5;
@a = $[ <= 5;
@a = $[ >= 5;
@a = 42 < $[;
@a = 42 > $[;
@a = 42 <= $[;
@a = 42 >= $[;
use integer;
@a = $[ < 5;
@a = $[ > 5;
@a = $[ <= 5;
@a = $[ >= 5;
@a = 42 < $[;
@a = 42 > $[;
@a = 42 <= $[;
@a = 42 >= $[;
no integer;
@a = $[ < $5;
@a = $[ > $5;
@a = $[ <= $5;
@a = $[ >= $5;
@a = $42 < $[;
@a = $42 > $[;
@a = $42 <= $[;
@a = $42 >= $[;
use integer;
@a = $[ < $5;
@a = $[ > $5;
@a = $[ <= $5;
@a = $[ >= $5;
@a = $42 < $[;
@a = $42 > $[;
@a = $42 <= $[;
@a = $42 >= $[;
EXPECTED:
$[ used in numeric lt (<) (did you mean $] ?) at - line 4.
$[ used in numeric gt (>) (did you mean $] ?) at - line 5.
$[ used in numeric le (<=) (did you mean $] ?) at - line 6.
$[ used in numeric ge (>=) (did you mean $] ?) at - line 7.
$[ used in numeric lt (<) (did you mean $] ?) at - line 8.
$[ used in numeric gt (>) (did you mean $] ?) at - line 9.
$[ used in numeric le (<=) (did you mean $] ?) at - line 10.
$[ used in numeric ge (>=) (did you mean $] ?) at - line 11.
$[ used in numeric lt (<) (did you mean $] ?) at - line 13.
$[ used in numeric gt (>) (did you mean $] ?) at - line 14.
$[ used in numeric le (<=) (did you mean $] ?) at - line 15.
$[ used in numeric ge (>=) (did you mean $] ?) at - line 16.
$[ used in numeric lt (<) (did you mean $] ?) at - line 17.
$[ used in numeric gt (>) (did you mean $] ?) at - line 18.
$[ used in numeric le (<=) (did you mean $] ?) at - line 19.
$[ used in numeric ge (>=) (did you mean $] ?) at - line 20.
GOT:
$[ used in numeric lt (<) (did you mean $] ?) at - line 4.
$[ used in numeric gt (>) (did you mean $] ?) at - line 5.
$[ used in numeric le (<=) (did you mean $] ?) at - line 6.
$[ used in numeric ge (>=) (did you mean $] ?) at - line 7.
$[ used in numeric lt (<) (did you mean $] ?) at - line 8.
$[ used in numeric gt (>) (did you mean $] ?) at - line 9.
$[ used in numeric le (<=) (did you mean $] ?) at - line 10.
$[ used in numeric ge (>=) (did you mean $] ?) at - line 11.
$[ used in numeric lt (<) (did you mean $] ?) at - line 13.
$[ used in numeric gt (>) (did you mean $] ?) at - line 14.
$[ used in numeric le (<=) (did you mean $] ?) at - line 15.
$[ used in numeric ge (>=) (did you mean $] ?) at - line 16.
$[ used in numeric lt (<) (did you mean $] ?) at - line 17.
$[ used in numeric gt (>) (did you mean $] ?) at - line 18.
$[ used in numeric le (<=) (did you mean $] ?) at - line 19.
$[ used in numeric ge (>=) (did you mean $] ?) at - line 20.
Use of uninitialized value $5 in numeric lt (<) at - line 22.
Use of uninitialized value $5 in numeric gt (>) at - line 23.
Use of uninitialized value $5 in numeric le (<=) at - line 24.
Use of uninitialized value $5 in numeric ge (>=) at - line 25.
Use of uninitialized value $42 in numeric lt (<) at - line 26.
Use of uninitialized value $42 in numeric gt (>) at - line 27.
Use of uninitialized value $42 in numeric le (<=) at - line 28.
Use of uninitialized value $42 in numeric ge (>=) at - line 29.
Use of uninitialized value $5 in integer lt (<) at - line 31.
Use of uninitialized value $5 in integer gt (>) at - line 32.
Use of uninitialized value $5 in integer le (<=) at - line 33.
Use of uninitialized value $5 in integer ge (>=) at - line 34.
Use of uninitialized value $42 in integer lt (<) at - line 35.
Use of uninitialized value $42 in integer gt (>) at - line 36.
Use of uninitialized value $42 in integer le (<=) at - line 37.
Use of uninitialized value $42 in integer ge (>=) at - line 38.
# Failed test 495 - test from lib/warnings/op at line 1272 at lib/warnings/op line 1272
FILE: lib/warnings/op ; line 1328
PROG: 
# op.c [Perl_ck_length]
use warnings 'syntax' ; no strict 'vars'; no strict 'refs';
length(@a);
length(%b);
length(@$c);
length(%$d);
length($a);
length(my %h);
length(my @g);
EXPECTED:
length() used on @a (did you mean "scalar(@a)"?) at - line 3.
length() used on %b (did you mean "scalar(keys %b)"?) at - line 4.
length() used on @array (did you mean "scalar(@array)"?) at - line 5.
length() used on %hash (did you mean "scalar(keys %hash)"?) at - line 6.
length() used on %h (did you mean "scalar(keys %h)"?) at - line 8.
length() used on @g (did you mean "scalar(@g)"?) at - line 9.
GOT:
length() used on @a (did you mean "scalar(@a)"?) at - line 3.
length() used on %b (did you mean "scalar(keys %b)"?) at - line 4.
length() used on @array (did you mean "scalar(@array)"?) at - line 5.
length() used on %hash (did you mean "scalar(keys %hash)"?) at - line 6.
length() used on %h (did you mean "scalar(keys %h)"?) at - line 8.
length() used on @g (did you mean "scalar(@g)"?) at - line 9.
Useless use of length in void context at - line 3.
Useless use of length in void context at - line 4.
Useless use of length in void context at - line 5.
Useless use of length in void context at - line 6.
Useless use of length in void context at - line 7.
Useless use of length in void context at - line 8.
Useless use of length in void context at - line 9.
Name "main::c" used only once: possible typo at - line 5.
Name "main::d" used only once: possible typo at - line 6.
Name "main::b" used only once: possible typo at - line 4.
Use of uninitialized value $c in array dereference at - line 5.
Use of uninitialized value $d in hash dereference at - line 6.
# Failed test 496 - test from lib/warnings/op at line 1328 at lib/warnings/op line 1328
FILE: lib/warnings/op ; line 1345
PROG: 
# op.c
use warnings 'syntax' ;
join /---/, 'x', 'y', 'z';
EXPECTED:
/---/ should probably be written as "---" at - line 3.
GOT:
/---/ should probably be written as "---" at - line 3.
Useless use of join or string in void context at - line 3.
Use of uninitialized value $_ in pattern match (m//) at - line 3.
# Failed test 497 - test from lib/warnings/op at line 1345 at lib/warnings/op line 1345
FILE: lib/warnings/op ; line 1351
PROG: 
# op.c
use utf8;
use open qw( :utf8 :std );
use warnings 'syntax' ;
join /～～～/, 'x', 'y', 'z';
EXPECTED:
/～～～/ should probably be written as "～～～" at - line 5.
GOT:
/～～～/ should probably be written as "～～～" at - line 5.
Useless use of join or string in void context at - line 5.
Use of uninitialized value $_ in pattern match (m//) at - line 5.
# Failed test 498 - test from lib/warnings/op at line 1351 at lib/warnings/op line 1351
FILE: lib/warnings/op ; line 1433
PROG: 
# op.c
# 20020401 mjd@plover.com at suggestion of jfriedl@yahoo.com
use warnings 'regexp';
split /blah/g, "blah";
no warnings 'regexp';
split /blah/g, "blah";
EXPECTED:
Use of /g modifier is meaningless in split at - line 4.
GOT:
Use of /g modifier is meaningless in split at - line 4.
Useless use of split in void context at - line 4.
Useless use of split in void context at - line 6.
# Failed test 503 - test from lib/warnings/op at line 1433 at lib/warnings/op line 1433
FILE: lib/warnings/op ; line 1442
PROG: 
use feature "bitwise";
$_ = $_ | $_;
$_ = $_ & $_;
$_ = $_ ^ $_;
$_ = ~$_;
$_ = $_ |. $_;
$_ = $_ &. $_;
$_ = $_ ^. $_;
$_ = ~.$_;
$_ |= $_;
$_ &= $_;
$_ ^= $_;
$_ |.= $_;
$_ &.= $_;
$_ ^.= $_;
use warnings "experimental::bitwise";
$_ = $_ | $_;
$_ = $_ & $_;
$_ = $_ ^ $_;
$_ = ~$_;
$_ = $_ |. $_;
$_ = $_ &. $_;
$_ = $_ ^. $_;
$_ = ~.$_;
$_ |= $_;
$_ &= $_;
$_ ^= $_;
$_ |.= $_;
$_ &.= $_;
$_ ^.= $_;
no warnings "experimental::bitwise";
$_ = $_ | $_;
$_ = $_ & $_;
$_ = $_ ^ $_;
$_ = ~$_;
$_ = $_ |. $_;
$_ = $_ &. $_;
$_ = $_ ^. $_;
$_ = ~.$_;
$_ |= $_;
$_ &= $_;
$_ ^= $_;
$_ |.= $_;
$_ &.= $_;
$_ ^.= $_;
EXPECTED:

GOT:
Use of uninitialized value $_ in numeric bitwise or (|) at - line 2.
Use of uninitialized value $_ in numeric bitwise or (|) at - line 2.
Argument "M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?..." isn't numeric in numeric bitwise or (|) at - line 10.
Argument "\0" isn't numeric in numeric bitwise or (|) at - line 17.
Argument "M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?..." isn't numeric in numeric bitwise or (|) at - line 25.
Argument "\0" isn't numeric in numeric bitwise or (|) at - line 32.
Argument "M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?M-^?..." isn't numeric in numeric bitwise or (|) at - line 40.
# Failed test 504 - test from lib/warnings/op at line 1442 at lib/warnings/op line 1442
FILE: lib/warnings/op ; line 1489
PROG: 
# op.c
use warnings 'precedence'; no strict 'vars';
$a = $b & $c == $d;
$a = $b ^ $c != $d;
$a = $b | $c > $d;
$a = $b < $c & $d;
$a = $b >= $c ^ $d;
$a = $b <= $c | $d;
$a = $b <=> $c & $d;
$a &= $b == $c; $a |= $b == $c; $a ^= $b == $c; # shouldn't warn
{
 use experimental 'bitwise';
 $a = $b & $c == $d;
 $a = $b ^ $c != $d;
 $a = $b | $c > $d;
 $a = $b < $c & $d;
 $a = $b >= $c ^ $d;
 $a = $b <= $c | $d;
 $a = $b <=> $c & $d;
 $a &= $b == $c; $a |= $b == $c; $a ^= $b == $c; # shouldn't warn
 $a = $b &. $c == $d;
 $a = $b ^. $c != $d;
 $a = $b |. $c > $d;
 $a = $b < $c &. $d;
 $a = $b >= $c ^. $d;
 $a = $b <= $c |. $d;
 $a = $b <=> $c &. $d;
 $a &.= $b == $c; $a |.= $b == $c; $a ^.= $b == $c; # shouldn't warn
}
no warnings 'precedence';
$a = $b & $c == $d;
$a = $b ^ $c != $d;
$a = $b | $c > $d;
$a = $b < $c & $d;
$a = $b >= $c ^ $d;
$a = $b <= $c | $d;
$a = $b <=> $c & $d;
{
 use experimental 'bitwise';
 $a = $b & $c == $d;
 $a = $b ^ $c != $d;
 $a = $b | $c > $d;
 $a = $b < $c & $d;
 $a = $b >= $c ^ $d;
 $a = $b <= $c | $d;
 $a = $b <=> $c & $d;
 $a &= $b == $c; $a |= $b == $c; $a ^= $b == $c; # shouldn't warn
 $a = $b &. $c == $d;
 $a = $b ^. $c != $d;
 $a = $b |. $c > $d;
 $a = $b < $c &. $d;
 $a = $b >= $c ^. $d;
 $a = $b <= $c |. $d;
 $a = $b <=> $c &. $d;
 $a &.= $b == $c; $a |.= $b == $c; $a ^.= $b == $c; # shouldn't warn
}
EXPECTED:
Possible precedence problem on bitwise & operator at - line 3.
Possible precedence problem on bitwise ^ operator at - line 4.
Possible precedence problem on bitwise | operator at - line 5.
Possible precedence problem on bitwise & operator at - line 6.
Possible precedence problem on bitwise ^ operator at - line 7.
Possible precedence problem on bitwise | operator at - line 8.
Possible precedence problem on bitwise & operator at - line 9.
Possible precedence problem on bitwise & operator at - line 13.
Possible precedence problem on bitwise ^ operator at - line 14.
Possible precedence problem on bitwise | operator at - line 15.
Possible precedence problem on bitwise & operator at - line 16.
Possible precedence problem on bitwise ^ operator at - line 17.
Possible precedence problem on bitwise | operator at - line 18.
Possible precedence problem on bitwise & operator at - line 19.
Possible precedence problem on bitwise &. operator at - line 21.
Possible precedence problem on bitwise ^. operator at - line 22.
Possible precedence problem on bitwise |. operator at - line 23.
Possible precedence problem on bitwise &. operator at - line 24.
Possible precedence problem on bitwise ^. operator at - line 25.
Possible precedence problem on bitwise |. operator at - line 26.
Possible precedence problem on bitwise &. operator at - line 27.
GOT:
Possible precedence problem on bitwise & operator at - line 3.
Possible precedence problem on bitwise ^ operator at - line 4.
Possible precedence problem on bitwise | operator at - line 5.
Possible precedence problem on bitwise & operator at - line 6.
Possible precedence problem on bitwise ^ operator at - line 7.
Possible precedence problem on bitwise | operator at - line 8.
Possible precedence problem on bitwise & operator at - line 9.
Possible precedence problem on bitwise & operator at - line 13.
Possible precedence problem on bitwise ^ operator at - line 14.
Possible precedence problem on bitwise | operator at - line 15.
Possible precedence problem on bitwise & operator at - line 16.
Possible precedence problem on bitwise ^ operator at - line 17.
Possible precedence problem on bitwise | operator at - line 18.
Possible precedence problem on bitwise & operator at - line 19.
Possible precedence problem on bitwise &. operator at - line 21.
Possible precedence problem on bitwise ^. operator at - line 22.
Possible precedence problem on bitwise |. operator at - line 23.
Possible precedence problem on bitwise &. operator at - line 24.
Possible precedence problem on bitwise ^. operator at - line 25.
Possible precedence problem on bitwise |. operator at - line 26.
Possible precedence problem on bitwise &. operator at - line 27.
Use of uninitialized value $d in numeric eq (==) at - line 3.
Use of uninitialized value $c in numeric eq (==) at - line 3.
Use of uninitialized value $b in bitwise and (&) at - line 3.
Use of uninitialized value $d in numeric ne (!=) at - line 4.
Use of uninitialized value $c in numeric ne (!=) at - line 4.
Use of uninitialized value $b in bitwise xor (^) at - line 4.
Use of uninitialized value $d in numeric gt (>) at - line 5.
Use of uninitialized value $c in numeric gt (>) at - line 5.
Use of uninitialized value $b in bitwise or (|) at - line 5.
Use of uninitialized value $c in numeric lt (<) at - line 6.
Use of uninitialized value $b in numeric lt (<) at - line 6.
Use of uninitialized value $d in bitwise and (&) at - line 6.
Use of uninitialized value $c in numeric ge (>=) at - line 7.
Use of uninitialized value $b in numeric ge (>=) at - line 7.
Use of uninitialized value $d in bitwise xor (^) at - line 7.
Use of uninitialized value $c in numeric le (<=) at - line 8.
Use of uninitialized value $b in numeric le (<=) at - line 8.
Use of uninitialized value $d in bitwise or (|) at - line 8.
Use of uninitialized value $c in numeric comparison (<=>) at - line 9.
Use of uninitialized value $b in numeric comparison (<=>) at - line 9.
Use of uninitialized value $d in bitwise and (&) at - line 9.
Use of uninitialized value $c in numeric eq (==) at - line 10.
Use of uninitialized value $b in numeric eq (==) at - line 10.
Use of uninitialized value $c in numeric eq (==) at - line 10.
Use of uninitialized value $b in numeric eq (==) at - line 10.
Use of uninitialized value $c in numeric eq (==) at - line 10.
Use of uninitialized value $b in numeric eq (==) at - line 10.
Use of uninitialized value $d in numeric eq (==) at - line 13.
Use of uninitialized value $c in numeric eq (==) at - line 13.
Use of uninitialized value $b in numeric bitwise and (&) at - line 13.
Use of uninitialized value $d in numeric ne (!=) at - line 14.
Use of uninitialized value $c in numeric ne (!=) at - line 14.
Use of uninitialized value $b in numeric bitwise xor (^) at - line 14.
Use of uninitialized value $d in numeric gt (>) at - line 15.
Use of uninitialized value $c in numeric gt (>) at - line 15.
Use of uninitialized value $b in numeric bitwise or (|) at - line 15.
Use of uninitialized value $c in numeric lt (<) at - line 16.
Use of uninitialized value $b in numeric lt (<) at - line 16.
Use of uninitialized value $d in numeric bitwise and (&) at - line 16.
Use of uninitialized value $c in numeric ge (>=) at - line 17.
Use of uninitialized value $b in numeric ge (>=) at - line 17.
Use of uninitialized value $d in numeric bitwise xor (^) at - line 17.
Use of uninitialized value $c in numeric le (<=) at - line 18.
Use of uninitialized value $b in numeric le (<=) at - line 18.
Use of uninitialized value $d in numeric bitwise or (|) at - line 18.
Use of uninitialized value $c in numeric comparison (<=>) at - line 19.
Use of uninitialized value $b in numeric comparison (<=>) at - line 19.
Use of uninitialized value $d in numeric bitwise and (&) at - line 19.
Use of uninitialized value $c in numeric eq (==) at - line 20.
Use of uninitialized value $b in numeric eq (==) at - line 20.
Use of uninitialized value $c in numeric eq (==) at - line 20.
Use of uninitialized value $b in numeric eq (==) at - line 20.
Use of uninitialized value $c in numeric eq (==) at - line 20.
Use of uninitialized value $b in numeric eq (==) at - line 20.
Use of uninitialized value $d in numeric eq (==) at - line 21.
Use of uninitialized value $c in numeric eq (==) at - line 21.
Use of uninitialized value $b in string bitwise and (&.) at - line 21.
Use of uninitialized value $d in numeric ne (!=) at - line 22.
Use of uninitialized value $c in numeric ne (!=) at - line 22.
Use of uninitialized value $b in string bitwise xor (^.) at - line 22.
Use of uninitialized value $d in numeric gt (>) at - line 23.
Use of uninitialized value $c in numeric gt (>) at - line 23.
Use of uninitialized value $b in string bitwise or (|.) at - line 23.
Use of uninitialized value $c in numeric lt (<) at - line 24.
Use of uninitialized value $b in numeric lt (<) at - line 24.
Use of uninitialized value $d in string bitwise and (&.) at - line 24.
Use of uninitialized value $c in numeric ge (>=) at - line 25.
Use of uninitialized value $b in numeric ge (>=) at - line 25.
Use of uninitialized value $d in string bitwise xor (^.) at - line 25.
Use of uninitialized value $c in numeric le (<=) at - line 26.
Use of uninitialized value $b in numeric le (<=) at - line 26.
Use of uninitialized value $d in string bitwise or (|.) at - line 26.
Use of uninitialized value $c in numeric comparison (<=>) at - line 27.
Use of uninitialized value $b in numeric comparison (<=>) at - line 27.
Use of uninitialized value $d in string bitwise and (&.) at - line 27.
Use of uninitialized value $c in numeric eq (==) at - line 28.
Use of uninitialized value $b in numeric eq (==) at - line 28.
Use of uninitialized value $c in numeric eq (==) at - line 28.
Use of uninitialized value $b in numeric eq (==) at - line 28.
Use of uninitialized value $c in numeric eq (==) at - line 28.
Use of uninitialized value $b in numeric eq (==) at - line 28.
Use of uninitialized value $d in numeric eq (==) at - line 31.
Use of uninitialized value $c in numeric eq (==) at - line 31.
Use of uninitialized value $b in bitwise and (&) at - line 31.
Use of uninitialized value $d in numeric ne (!=) at - line 32.
Use of uninitialized value $c in numeric ne (!=) at - line 32.
Use of uninitialized value $b in bitwise xor (^) at - line 32.
Use of uninitialized value $d in numeric gt (>) at - line 33.
Use of uninitialized value $c in numeric gt (>) at - line 33.
Use of uninitialized value $b in bitwise or (|) at - line 33.
Use of uninitialized value $c in numeric lt (<) at - line 34.
Use of uninitialized value $b in numeric lt (<) at - line 34.
Use of uninitialized value $d in bitwise and (&) at - line 34.
Use of uninitialized value $c in numeric ge (>=) at - line 35.
Use of uninitialized value $b in numeric ge (>=) at - line 35.
Use of uninitialized value $d in bitwise xor (^) at - line 35.
Use of uninitialized value $c in numeric le (<=) at - line 36.
Use of uninitialized value $b in numeric le (<=) at - line 36.
Use of uninitialized value $d in bitwise or (|) at - line 36.
Use of uninitialized value $c in numeric comparison (<=>) at - line 37.
Use of uninitialized value $b in numeric comparison (<=>) at - line 37.
Use of uninitialized value $d in bitwise and (&) at - line 37.
Use of uninitialized value $d in numeric eq (==) at - line 40.
Use of uninitialized value $c in numeric eq (==) at - line 40.
Use of uninitialized value $b in numeric bitwise and (&) at - line 40.
Use of uninitialized value $d in numeric ne (!=) at - line 41.
Use of uninitialized value $c in numeric ne (!=) at - line 41.
Use of uninitialized value $b in numeric bitwise xor (^) at - line 41.
Use of uninitialized value $d in numeric gt (>) at - line 42.
Use of uninitialized value $c in numeric gt (>) at - line 42.
Use of uninitialized value $b in numeric bitwise or (|) at - line 42.
Use of uninitialized value $c in numeric lt (<) at - line 43.
Use of uninitialized value $b in numeric lt (<) at - line 43.
Use of uninitialized value $d in numeric bitwise and (&) at - line 43.
Use of uninitialized value $c in numeric ge (>=) at - line 44.
Use of uninitialized value $b in numeric ge (>=) at - line 44.
Use of uninitialized value $d in numeric bitwise xor (^) at - line 44.
Use of uninitialized value $c in numeric le (<=) at - line 45.
Use of uninitialized value $b in numeric le (<=) at - line 45.
Use of uninitialized value $d in numeric bitwise or (|) at - line 45.
Use of uninitialized value $c in numeric comparison (<=>) at - line 46.
Use of uninitialized value $b in numeric comparison (<=>) at - line 46.
Use of uninitialized value $d in numeric bitwise and (&) at - line 46.
Use of uninitialized value $c in numeric eq (==) at - line 47.
Use of uninitialized value $b in numeric eq (==) at - line 47.
Use of uninitialized value $c in numeric eq (==) at - line 47.
Use of uninitialized value $b in numeric eq (==) at - line 47.
Use of uninitialized value $c in numeric eq (==) at - line 47.
Use of uninitialized value $b in numeric eq (==) at - line 47.
Use of uninitialized value $d in numeric eq (==) at - line 48.
Use of uninitialized value $c in numeric eq (==) at - line 48.
Use of uninitialized value $b in string bitwise and (&.) at - line 48.
Use of uninitialized value $d in numeric ne (!=) at - line 49.
Use of uninitialized value $c in numeric ne (!=) at - line 49.
Use of uninitialized value $b in string bitwise xor (^.) at - line 49.
Use of uninitialized value $d in numeric gt (>) at - line 50.
Use of uninitialized value $c in numeric gt (>) at - line 50.
Use of uninitialized value $b in string bitwise or (|.) at - line 50.
Use of uninitialized value $c in numeric lt (<) at - line 51.
Use of uninitialized value $b in numeric lt (<) at - line 51.
Use of uninitialized value $d in string bitwise and (&.) at - line 51.
Use of uninitialized value $c in numeric ge (>=) at - line 52.
Use of uninitialized value $b in numeric ge (>=) at - line 52.
Use of uninitialized value $d in string bitwise xor (^.) at - line 52.
Use of uninitialized value $c in numeric le (<=) at - line 53.
Use of uninitialized value $b in numeric le (<=) at - line 53.
Use of uninitialized value $d in string bitwise or (|.) at - line 53.
Use of uninitialized value $c in numeric comparison (<=>) at - line 54.
Use of uninitialized value $b in numeric comparison (<=>) at - line 54.
Use of uninitialized value $d in string bitwise and (&.) at - line 54.
Use of uninitialized value $c in numeric eq (==) at - line 55.
Use of uninitialized value $b in numeric eq (==) at - line 55.
Use of uninitialized value $c in numeric eq (==) at - line 55.
Use of uninitialized value $b in numeric eq (==) at - line 55.
Use of uninitialized value $c in numeric eq (==) at - line 55.
Use of uninitialized value $b in numeric eq (==) at - line 55.
# Failed test 505 - test from lib/warnings/op at line 1489 at lib/warnings/op line 1489
FILE: lib/warnings/op ; line 1568
PROG: 
# op.c
use integer; no strict 'vars';
use warnings 'precedence';
$a = $b & $c == $d;
$a = $b ^ $c != $d;
$a = $b | $c > $d;
$a = $b < $c & $d;
$a = $b >= $c ^ $d;
$a = $b <= $c | $d;
$a = $b <=> $c & $d;
no warnings 'precedence';
$a = $b & $c == $d;
$a = $b ^ $c != $d;
$a = $b | $c > $d;
$a = $b < $c & $d;
$a = $b >= $c ^ $d;
$a = $b <= $c | $d;
$a = $b <=> $c & $d;
EXPECTED:
Possible precedence problem on bitwise & operator at - line 4.
Possible precedence problem on bitwise ^ operator at - line 5.
Possible precedence problem on bitwise | operator at - line 6.
Possible precedence problem on bitwise & operator at - line 7.
Possible precedence problem on bitwise ^ operator at - line 8.
Possible precedence problem on bitwise | operator at - line 9.
Possible precedence problem on bitwise & operator at - line 10.
GOT:
Possible precedence problem on bitwise & operator at - line 4.
Possible precedence problem on bitwise ^ operator at - line 5.
Possible precedence problem on bitwise | operator at - line 6.
Possible precedence problem on bitwise & operator at - line 7.
Possible precedence problem on bitwise ^ operator at - line 8.
Possible precedence problem on bitwise | operator at - line 9.
Possible precedence problem on bitwise & operator at - line 10.
Use of uninitialized value $d in integer eq (==) at - line 4.
Use of uninitialized value $c in integer eq (==) at - line 4.
Use of uninitialized value $b in bitwise and (&) at - line 4.
Use of uninitialized value $d in integer ne (!=) at - line 5.
Use of uninitialized value $c in integer ne (!=) at - line 5.
Use of uninitialized value $b in bitwise xor (^) at - line 5.
Use of uninitialized value $d in integer gt (>) at - line 6.
Use of uninitialized value $c in integer gt (>) at - line 6.
Use of uninitialized value $b in bitwise or (|) at - line 6.
Use of uninitialized value $c in integer lt (<) at - line 7.
Use of uninitialized value $b in integer lt (<) at - line 7.
Use of uninitialized value $d in bitwise and (&) at - line 7.
Use of uninitialized value $c in integer ge (>=) at - line 8.
Use of uninitialized value $b in integer ge (>=) at - line 8.
Use of uninitialized value $d in bitwise xor (^) at - line 8.
Use of uninitialized value $c in integer le (<=) at - line 9.
Use of uninitialized value $b in integer le (<=) at - line 9.
Use of uninitialized value $d in bitwise or (|) at - line 9.
Use of uninitialized value $c in integer comparison (<=>) at - line 10.
Use of uninitialized value $b in integer comparison (<=>) at - line 10.
Use of uninitialized value $d in bitwise and (&) at - line 10.
Use of uninitialized value $d in integer eq (==) at - line 12.
Use of uninitialized value $c in integer eq (==) at - line 12.
Use of uninitialized value $b in bitwise and (&) at - line 12.
Use of uninitialized value $d in integer ne (!=) at - line 13.
Use of uninitialized value $c in integer ne (!=) at - line 13.
Use of uninitialized value $b in bitwise xor (^) at - line 13.
Use of uninitialized value $d in integer gt (>) at - line 14.
Use of uninitialized value $c in integer gt (>) at - line 14.
Use of uninitialized value $b in bitwise or (|) at - line 14.
Use of uninitialized value $c in integer lt (<) at - line 15.
Use of uninitialized value $b in integer lt (<) at - line 15.
Use of uninitialized value $d in bitwise and (&) at - line 15.
Use of uninitialized value $c in integer ge (>=) at - line 16.
Use of uninitialized value $b in integer ge (>=) at - line 16.
Use of uninitialized value $d in bitwise xor (^) at - line 16.
Use of uninitialized value $c in integer le (<=) at - line 17.
Use of uninitialized value $b in integer le (<=) at - line 17.
Use of uninitialized value $d in bitwise or (|) at - line 17.
Use of uninitialized value $c in integer comparison (<=>) at - line 18.
Use of uninitialized value $b in integer comparison (<=>) at - line 18.
Use of uninitialized value $d in bitwise and (&) at - line 18.
# Failed test 506 - test from lib/warnings/op at line 1568 at lib/warnings/op line 1568
FILE: lib/warnings/op ; line 1595
PROG: 
# op.c

# ok	=> local() has desired effect;
# ignore=> local() silently ignored

use warnings 'syntax'; no strict 'vars'; no strict 'refs';

local(undef);		# OP_UNDEF		ignore
sub lval : lvalue {};
local(lval());		# OP_ENTERSUB
local($x **= 1);	# OP_POW
local($x *=  1);	# OP_MULTIPLY
local($x /=  1);	# OP_DIVIDE
local($x %=  1);	# OP_MODULO
local($x x=  1);	# OP_REPEAT
local($x +=  1);	# OP_ADD
local($x -=  1);	# OP_SUBTRACT
local($x .=  1);	# OP_CONCAT
local($x <<= 1);	# OP_LEFT_SHIFT
local($x >>= 1);	# OP_RIGHT_SHIFT
local($x &=  1);	# OP_BIT_AND
local($x ^=  1);	# OP_BIT_XOR
local($x |=  1);	# OP_BIT_OR
{
    use integer;
    local($x *= 1);	# OP_I_MULTIPLY
    local($x /= 1);	# OP_I_DIVIDE
    local($x %= 1);	# OP_I_MODULO
    local($x += 1);	# OP_I_ADD
    local($x -= 1);	# OP_I_SUBTRACT
}
local($x?$y:$z) = 1;	# OP_COND_EXPR		ok
# these two are fatal run-time errors instead
#local(@$a);		# OP_RV2AV		ok
#local(%$a);		# OP_RV2HV		ok
local(*a);		# OP_RV2GV		ok
local(@a[1,2]);		# OP_ASLICE		ok
local(@a{1,2});		# OP_HSLICE		ok
local(@a = (1,2));	# OP_AASSIGN
local($$x);		# OP_RV2SV		ok
local($#a);		# OP_AV2ARYLEN
local($x =   1);	# OP_SASSIGN
local($x &&= 1);	# OP_ANDASSIGN
local($x ||= 1);	# OP_ORASSIGN
local($x //= 1);	# OP_DORASSIGN
local($a[0]);		# OP_AELEMFAST		ok

local(substr($x,0,1));	# OP_SUBSTR
local(pos($x));		# OP_POS
local(vec($x,0,1));	# OP_VEC
local($a[$b]);		# OP_AELEM		ok
local($a{$b});		# OP_HELEM		ok

no warnings 'syntax';
EXPECTED:
Useless localization of subroutine entry at - line 10.
Useless localization of exponentiation (**) at - line 11.
Useless localization of multiplication (*) at - line 12.
Useless localization of division (/) at - line 13.
Useless localization of modulus (%) at - line 14.
Useless localization of repeat (x) at - line 15.
Useless localization of addition (+) at - line 16.
Useless localization of subtraction (-) at - line 17.
Useless localization of concatenation (.) or string at - line 18.
Useless localization of left bitshift (<<) at - line 19.
Useless localization of right bitshift (>>) at - line 20.
Useless localization of bitwise and (&) at - line 21.
Useless localization of bitwise xor (^) at - line 22.
Useless localization of bitwise or (|) at - line 23.
Useless localization of integer multiplication (*) at - line 26.
Useless localization of integer division (/) at - line 27.
Useless localization of integer modulus (%) at - line 28.
Useless localization of integer addition (+) at - line 29.
Useless localization of integer subtraction (-) at - line 30.
Useless localization of list assignment at - line 39.
Useless localization of array length at - line 41.
Useless localization of scalar assignment at - line 42.
Useless localization of logical and assignment (&&=) at - line 43.
Useless localization of logical or assignment (||=) at - line 44.
Useless localization of defined or assignment (//=) at - line 45.
Useless localization of substr at - line 48.
Useless localization of match position at - line 49.
Useless localization of vec at - line 50.
GOT:
Useless localization of subroutine entry at - line 10.
Useless localization of exponentiation (**) at - line 11.
Useless localization of multiplication (*) at - line 12.
Useless localization of division (/) at - line 13.
Useless localization of modulus (%) at - line 14.
Useless localization of repeat (x) at - line 15.
Useless localization of addition (+) at - line 16.
Useless localization of subtraction (-) at - line 17.
Useless localization of concatenation (.) or string at - line 18.
Useless localization of left bitshift (<<) at - line 19.
Useless localization of right bitshift (>>) at - line 20.
Useless localization of bitwise and (&) at - line 21.
Useless localization of bitwise xor (^) at - line 22.
Useless localization of bitwise or (|) at - line 23.
Useless localization of integer multiplication (*) at - line 26.
Useless localization of integer division (/) at - line 27.
Useless localization of integer modulus (%) at - line 28.
Useless localization of integer addition (+) at - line 29.
Useless localization of integer subtraction (-) at - line 30.
Useless localization of list assignment at - line 39.
Useless localization of array length at - line 41.
Useless localization of scalar assignment at - line 42.
Useless localization of logical and assignment (&&=) at - line 43.
Useless localization of logical or assignment (||=) at - line 44.
Useless localization of defined or assignment (//=) at - line 45.
Useless localization of substr at - line 48.
Useless localization of match position at - line 49.
Useless localization of vec at - line 50.
Useless use of array length in void context at - line 41.
Useless use of substr in void context at - line 48.
Useless use of vec in void context at - line 50.
Name "main::z" used only once: possible typo at - line 32.
Name "main::y" used only once: possible typo at - line 32.
Use of uninitialized value $x in exponentiation (**) at - line 11.
Use of uninitialized value $b in array element at - line 51.
Use of uninitialized value $b in hash element at - line 52.
Use of uninitialized value $b in hash element at - line 52.
Use of uninitialized value $b in hash element at - line 52.
# Failed test 507 - test from lib/warnings/op at line 1595 at lib/warnings/op line 1595
FILE: lib/warnings/op ; line 1679
PROG: 
# op.c
# these shouldn't warn
our $x if 0;
our $x unless 0;
if (0) { my $w1 }
if (my $w2) { $a=1 }
if ($a && (my $w3 = 1)) {$a = 2}

EXPECTED:

GOT:
"our" variable $x redeclared at - line 4.
# Failed test 508 - test from lib/warnings/op at line 1679 at lib/warnings/op line 1679
FILE: lib/warnings/op ; line 1943
PROG: 
use Config;
my $non_ieee_fp = ($Config{doublekind} == 9 ||
                   $Config{doublekind} == 10 ||
                   $Config{doublekind} == 11);
if ($non_ieee_fp) {
    print <<EOM ;
SKIPPED
# No inf/nan support
EOM
    exit ;
}
my $a = "inf" + 0;
my $b = -$a;
my $c = "nan" + 0;
use warnings 'numeric';
my $x = "x" x $a;
my $y = "y" x $b;
my $z = "z" x $c;
no warnings 'numeric';
my $x = "x" x $a;
my $y = "y" x $b;
my $z = "z" x $c;
no warnings 'numeric';
EXPECTED:
Non-finite repeat count does nothing at - line 16.
Non-finite repeat count does nothing at - line 17.
Non-finite repeat count does nothing at - line 18.
GOT:
"my" variable $x masks earlier declaration in same scope at - line 20.
"my" variable $y masks earlier declaration in same scope at - line 21.
"my" variable $z masks earlier declaration in same scope at - line 22.
Non-finite repeat count does nothing at - line 16.
Non-finite repeat count does nothing at - line 17.
Non-finite repeat count does nothing at - line 18.
# Failed test 524 - test from lib/warnings/op at line 1943 at lib/warnings/op line 1943
FILE: lib/warnings/op ; line 1971
PROG: 
my @foo = ("op/stat.t");
stat @foo;
my @bar = @foo;
stat @bar;
my $ref = \@foo;
stat @$ref;
use warnings 'syntax';
stat @foo;
stat @bar;
stat @$ref;
EXPECTED:
Array passed to stat will be coerced to a scalar (did you want stat $foo[0]?) at - line 8.
Array passed to stat will be coerced to a scalar (did you want stat $bar[0]?) at - line 9.
Array passed to stat will be coerced to a scalar at - line 10.
GOT:
Array passed to stat will be coerced to a scalar (did you want stat $foo[0]?) at - line 2.
Array passed to stat will be coerced to a scalar (did you want stat $bar[0]?) at - line 4.
Array passed to stat will be coerced to a scalar at - line 6.
Array passed to stat will be coerced to a scalar (did you want stat $foo[0]?) at - line 8.
Array passed to stat will be coerced to a scalar (did you want stat $bar[0]?) at - line 9.
Array passed to stat will be coerced to a scalar at - line 10.
# Failed test 525 - warn on stat @array at lib/warnings/op line 1971
FILE: lib/warnings/perl ; line 44
PROG: 
# perl.c
use warnings 'once'; no strict 'vars';
$\; # test a few
$:; # punct vars
$0; # and
$123; # numbers
$_;    # and
$_foo;  # underscores (none of which should warn)
@DB::args
EXPECTED:

GOT:
Useless use of a variable in void context at - line 3.
Useless use of a variable in void context at - line 4.
Useless use of a variable in void context at - line 5.
Useless use of a variable in void context at - line 6.
Useless use of a variable in void context at - line 7.
Useless use of a variable in void context at - line 8.
Useless use of a variable in void context at - line 9.
# Failed test 581 - test from lib/warnings/perl at line 44 at lib/warnings/perl line 44
FILE: lib/warnings/perl ; line 86
PROG: 

# perl.c
no strict; { use warnings 'once' ; $x = 3 ; }
$y = 3 ;
EXPECTED:
Name "main::x" used only once: possible typo at - line 3.
GOT:
Name "main::x" used only once: possible typo at - line 3.
Name "main::y" used only once: possible typo at - line 4.
# Failed test 585 - test from lib/warnings/perl at line 86 at lib/warnings/perl line 86
FILE: lib/warnings/perl ; line 93
PROG: 

# perl.c
no strict; $z = 3 ;
BEGIN { $^W = 1 }
{ no warnings 'once' ; $x = 3 ; }
$y = 3 ;
EXPECTED:
Name "main::y" used only once: possible typo at - line 6.
GOT:
Name "main::z" used only once: possible typo at - line 3.
Name "main::y" used only once: possible typo at - line 6.
# Failed test 586 - test from lib/warnings/perl at line 93 at lib/warnings/perl line 93
FILE: lib/warnings/perl ; line 154
PROG: 

# perl.c
use utf8; no strict 'vars';
use open qw( :utf8 :std );
{ use warnings 'once' ; $ᛪ = 3 ; }
$ŷ = 3 ;
EXPECTED:
Name "main::ᛪ" used only once: possible typo at - line 5.
GOT:
Name "main::ŷ" used only once: possible typo at - line 6.
Name "main::ᛪ" used only once: possible typo at - line 5.
# Failed test 592 - test from lib/warnings/perl at line 154 at lib/warnings/perl line 154
FILE: lib/warnings/perl ; line 163
PROG: 

# perl.c
use utf8; no strict 'vars';
use open qw( :utf8 :std );
$ȥ = 3 ;
BEGIN { $^W = 1 }
{ no warnings 'once' ; $ᛪ = 3 ; }
$ŷ = 3 ;
EXPECTED:
Name "main::ŷ" used only once: possible typo at - line 8.
GOT:
Name "main::ŷ" used only once: possible typo at - line 8.
Name "main::ȥ" used only once: possible typo at - line 5.
# Failed test 593 - test from lib/warnings/perl at line 163 at lib/warnings/perl line 163
FILE: lib/warnings/perl ; line 232
PROG: 

# perl.c
use utf8; no strict 'vars';
use open qw( :utf8 :std );
package ɕლȃṢȿ;
{ use warnings 'once' ; $ᛪ = 3 ; }
$ŷ = 3 ;
EXPECTED:
Name "ɕლȃṢȿ::ᛪ" used only once: possible typo at - line 6.
GOT:
Name "ɕლȃṢȿ::ᛪ" used only once: possible typo at - line 6.
Name "ɕლȃṢȿ::ŷ" used only once: possible typo at - line 7.
# Failed test 599 - test from lib/warnings/perl at line 232 at lib/warnings/perl line 232
FILE: lib/warnings/perl ; line 242
PROG: 

# perl.c
use utf8; no strict 'vars';
use open qw( :utf8 :std );
package ɕლȃṢȿ;
$ȥ = 3 ;
BEGIN { $^W = 1 }
{ no warnings 'once' ; $ᛪ = 3 ; }
$ŷ = 3 ;
EXPECTED:
Name "ɕლȃṢȿ::ŷ" used only once: possible typo at - line 9.
GOT:
Name "ɕლȃṢȿ::ȥ" used only once: possible typo at - line 6.
Name "ɕლȃṢȿ::ŷ" used only once: possible typo at - line 9.
# Failed test 600 - test from lib/warnings/perl at line 242 at lib/warnings/perl line 242
FILE: lib/warnings/perl ; line 254
PROG: 

use warnings 'once'; no strict 'vars';
$foo++; BEGIN { eval q|@a =~ s///; sub foo;| }
EXPECTED:
Name "main::foo" used only once: possible typo at - line 3.
GOT:
Applying substitution (s///) to @a will act on scalar(@a) at (eval 1) line 1.
Name "main::foo" used only once: possible typo at - line 3.
# Failed test 601 - test from lib/warnings/perl at line 254 at lib/warnings/perl line 254
FILE: lib/warnings/pp ; line 72
PROG: 
# pp.c
use warnings 'uninitialized'; no strict 'vars'; no strict 'refs';
$x = undef; $y = $$x;
no warnings 'uninitialized' ;
$u = undef; $v = $$u;
EXPECTED:
Use of uninitialized value $x in scalar dereference at - line 3.
GOT:
Name "main::v" used only once: possible typo at - line 5.
Name "main::y" used only once: possible typo at - line 3.
Use of uninitialized value $x in scalar dereference at - line 3.
# Failed test 612 - test from lib/warnings/pp at line 72 at lib/warnings/pp line 72
FILE: lib/warnings/pp ; line 128
PROG: 
# pp.c
use utf8 ;
$_ = "\x80  \xff" ;
reverse ;
EXPECTED:

GOT:
Useless use of reverse in void context at - line 4.
# Failed test 618 - test from lib/warnings/pp at line 128 at lib/warnings/pp line 128
FILE: lib/warnings/pp_hot ; line 330
PROG: 
# pp_hot.c [pp_aelem]
package Foo;use overload q("") => sub {};package main; my $a = bless {}, "Foo";
my $b = {}; my @x;
{
use warnings 'misc';
print $x[$a];
print $x[$b];
}
{
no warnings 'misc';
print $x[$a];
print $x[$b];
}

EXPECTED:
Use of reference ".*" as array index at - line 7.
GOT:
Use of uninitialized value in array element at - line 6.
Use of uninitialized value in print at - line 6.
Use of reference "HASH(0x801c24930)" as array index at - line 7.
Use of uninitialized value in print at - line 7.
Use of uninitialized value in array element at - line 11.
Use of uninitialized value in print at - line 11.
Use of uninitialized value in print at - line 12.
# Failed test 658 - test from lib/warnings/pp_hot at line 330 at lib/warnings/pp_hot line 330
FILE: lib/warnings/pp_sys ; line 135
PROG: 
# pp_sys.c [pp_leavewrite]
use warnings 'closed' ;
format STDIN =
.
format FOO =
.
close STDIN;
write STDIN;
write FOO;
opendir STDIN, ".";
write STDIN;
closedir STDIN;
opendir FOO, ".";
write FOO;
closedir FOO;
no warnings 'closed' ;
write STDIN;
write FOO;
opendir STDIN, ".";
opendir FOO, ".";
write STDIN;
write FOO;
EXPECTED:
write() on closed filehandle STDIN at - line 8.
write() on closed filehandle STDIN at - line 11.
	(Are you trying to call write() on dirhandle STDIN?)
GOT:
write() on closed filehandle STDIN at - line 8.
write() on unopened filehandle FOO at - line 9.
write() on closed filehandle STDIN at - line 11.
	(Are you trying to call write() on dirhandle STDIN?)
write() on unopened filehandle FOO at - line 14.
	(Are you trying to call write() on dirhandle FOO?)
write() on unopened filehandle FOO at - line 18.
write() on unopened filehandle FOO at - line 22.
	(Are you trying to call write() on dirhandle FOO?)
# Failed test 666 - test from lib/warnings/pp_sys at line 135 at lib/warnings/pp_sys line 135
FILE: lib/warnings/pp_sys ; line 162
PROG: 
# pp_sys.c [pp_leavewrite]
use warnings 'unopened';
format STDIN =
.
format FOO =
.
close STDIN;
write STDIN;
write FOO;
opendir STDIN, ".";
write STDIN;
closedir STDIN;
opendir FOO, ".";
write FOO;
closedir FOO;
no warnings 'unopened';
write STDIN;
write FOO;
opendir STDIN, ".";
opendir FOO, ".";
write STDIN;
write FOO;
EXPECTED:
write() on unopened filehandle FOO at - line 9.
write() on unopened filehandle FOO at - line 14.
	(Are you trying to call write() on dirhandle FOO?)
GOT:
write() on closed filehandle STDIN at - line 8.
write() on unopened filehandle FOO at - line 9.
write() on closed filehandle STDIN at - line 11.
	(Are you trying to call write() on dirhandle STDIN?)
write() on unopened filehandle FOO at - line 14.
	(Are you trying to call write() on dirhandle FOO?)
write() on closed filehandle STDIN at - line 17.
write() on closed filehandle STDIN at - line 21.
	(Are you trying to call write() on dirhandle STDIN?)
# Failed test 667 - test from lib/warnings/pp_sys at line 162 at lib/warnings/pp_sys line 162
FILE: lib/warnings/pp_sys ; line 264
PROG: 
# pp_sys.c [pp_flock]
use Config; no strict 'refs';
BEGIN { 
  if ( !$Config{d_flock} &&
       !$Config{d_fcntl_can_lock} &&
       !$Config{d_lockf} ) {
    print <<EOM ;
SKIPPED
# flock not present
EOM
    exit ;
  } 
}
use warnings qw(unopened closed);
close STDIN;
flock STDIN, 8;
opendir STDIN, ".";
flock STDIN, 8;
flock FOO, 8;
flock $a, 8;
no warnings qw(unopened closed);
flock STDIN, 8;
opendir STDIN, ".";
flock STDIN, 8;
flock FOO, 8;
flock $a, 8;
EXPECTED:
flock() on closed filehandle STDIN at - line 16.
flock() on closed filehandle STDIN at - line 18.
	(Are you trying to call flock() on dirhandle STDIN?)
flock() on unopened filehandle FOO at - line 19.
flock() on unopened filehandle at - line 20.
GOT:
flock() on closed filehandle STDIN at - line 16.
flock() on closed filehandle STDIN at - line 18.
	(Are you trying to call flock() on dirhandle STDIN?)
flock() on unopened filehandle FOO at - line 19.
Use of uninitialized value $a in ref-to-glob cast at - line 20.
flock() on unopened filehandle at - line 20.
Use of uninitialized value $a in ref-to-glob cast at - line 26.
# Failed test 674 - test from lib/warnings/pp_sys at line 264 at lib/warnings/pp_sys line 264
FILE: lib/warnings/pp_sys ; line 297
PROG: 
# pp_sys.c [pp_prtf pp_send pp_bind pp_connect pp_listen pp_accept pp_shutdown pp_ssockopt ppp_getpeername]
use warnings 'closed';
use Config; 
BEGIN { 
  if ( $^O ne 'VMS' and ! $Config{d_socket}) {
    print <<EOM ;
SKIPPED
# send not present
# bind not present
# connect not present
# accept not present
# shutdown not present
# setsockopt not present
# getsockopt not present
# getsockname not present
# getpeername not present
EOM
    exit ;
  } 
}
close STDIN; 
send STDIN, "fred", 1;
bind STDIN, "fred" ;
connect STDIN, "fred" ;
listen STDIN, 2;
accept "fred", STDIN;
shutdown STDIN, 0;
setsockopt STDIN, 1,2,3;
getsockopt STDIN, 1,2;
getsockname STDIN;
getpeername STDIN;
opendir STDIN, ".";
send STDIN, "fred", 1;
bind STDIN, "fred" ;
connect STDIN, "fred" ;
listen STDIN, 2;
accept "fred", STDIN;
shutdown STDIN, 0;
setsockopt STDIN, 1,2,3;
getsockopt STDIN, 1,2;
getsockname STDIN;
getpeername STDIN;
closedir STDIN;
send FOO, "fred", 1;
bind FOO, "fred" ;
connect FOO, "fred" ;
listen FOO, 2;
accept "fred", FOO;
shutdown FOO, 0;
setsockopt FOO, 1,2,3;
getsockopt FOO, 1,2;
getsockname FOO;
getpeername FOO;
opendir FOO, ".";
send FOO, "fred", 1;
bind FOO, "fred" ;
connect FOO, "fred" ;
listen FOO, 2;
accept "fred", FOO;
shutdown FOO, 0;
setsockopt FOO, 1,2,3;
getsockopt FOO, 1,2;
getsockname FOO;
getpeername FOO;
closedir FOO;
no warnings 'closed';
send STDIN, "fred", 1;
bind STDIN, "fred" ;
connect STDIN, "fred" ;
listen STDIN, 2;
accept STDIN, "fred" ;
shutdown STDIN, 0;
setsockopt STDIN, 1,2,3;
getsockopt STDIN, 1,2;
getsockname STDIN;
getpeername STDIN;
opendir STDIN, ".";
send STDIN, "fred", 1;
bind STDIN, "fred" ;
connect STDIN, "fred" ;
listen STDIN, 2;
accept "fred", STDIN;
shutdown STDIN, 0;
setsockopt STDIN, 1,2,3;
getsockopt STDIN, 1,2;
getsockname STDIN;
getpeername STDIN;
send FOO, "fred", 1;
bind FOO, "fred" ;
connect FOO, "fred" ;
listen FOO, 2;
accept FOO, "fred" ;
shutdown FOO, 0;
setsockopt FOO, 1,2,3;
getsockopt FOO, 1,2;
getsockname FOO;
getpeername FOO;
opendir FOO, ".";
send FOO, "fred", 1;
bind FOO, "fred" ;
connect FOO, "fred" ;
listen FOO, 2;
accept "fred", FOO;
shutdown FOO, 0;
setsockopt FOO, 1,2,3;
getsockopt FOO, 1,2;
getsockname FOO;
getpeername FOO;
EXPECTED:
send() on closed socket STDIN at - line 22.
bind() on closed socket STDIN at - line 23.
connect() on closed socket STDIN at - line 24.
listen() on closed socket STDIN at - line 25.
accept() on closed socket STDIN at - line 26.
shutdown() on closed socket STDIN at - line 27.
setsockopt() on closed socket STDIN at - line 28.
getsockopt() on closed socket STDIN at - line 29.
getsockname() on closed socket STDIN at - line 30.
getpeername() on closed socket STDIN at - line 31.
send() on closed socket STDIN at - line 33.
	(Are you trying to call send() on dirhandle STDIN?)
bind() on closed socket STDIN at - line 34.
	(Are you trying to call bind() on dirhandle STDIN?)
connect() on closed socket STDIN at - line 35.
	(Are you trying to call connect() on dirhandle STDIN?)
listen() on closed socket STDIN at - line 36.
	(Are you trying to call listen() on dirhandle STDIN?)
accept() on closed socket STDIN at - line 37.
	(Are you trying to call accept() on dirhandle STDIN?)
shutdown() on closed socket STDIN at - line 38.
	(Are you trying to call shutdown() on dirhandle STDIN?)
setsockopt() on closed socket STDIN at - line 39.
	(Are you trying to call setsockopt() on dirhandle STDIN?)
getsockopt() on closed socket STDIN at - line 40.
	(Are you trying to call getsockopt() on dirhandle STDIN?)
getsockname() on closed socket STDIN at - line 41.
	(Are you trying to call getsockname() on dirhandle STDIN?)
getpeername() on closed socket STDIN at - line 42.
	(Are you trying to call getpeername() on dirhandle STDIN?)
GOT:
Useless use of getsockname in void context at - line 30.
Useless use of getpeername in void context at - line 31.
Useless use of getsockname in void context at - line 41.
Useless use of getpeername in void context at - line 42.
Useless use of getsockname in void context at - line 52.
Useless use of getpeername in void context at - line 53.
Useless use of getsockname in void context at - line 63.
Useless use of getpeername in void context at - line 64.
Useless use of getsockname in void context at - line 75.
Useless use of getpeername in void context at - line 76.
Useless use of getsockname in void context at - line 86.
Useless use of getpeername in void context at - line 87.
Useless use of getsockname in void context at - line 96.
Useless use of getpeername in void context at - line 97.
Useless use of getsockname in void context at - line 107.
Useless use of getpeername in void context at - line 108.
send() on closed socket STDIN at - line 22.
bind() on closed socket STDIN at - line 23.
connect() on closed socket STDIN at - line 24.
listen() on closed socket STDIN at - line 25.
accept() on closed socket STDIN at - line 26.
shutdown() on closed socket STDIN at - line 27.
setsockopt() on closed socket STDIN at - line 28.
getsockopt() on closed socket STDIN at - line 29.
getsockname() on closed socket STDIN at - line 30.
getpeername() on closed socket STDIN at - line 31.
send() on closed socket STDIN at - line 33.
	(Are you trying to call send() on dirhandle STDIN?)
bind() on closed socket STDIN at - line 34.
	(Are you trying to call bind() on dirhandle STDIN?)
connect() on closed socket STDIN at - line 35.
	(Are you trying to call connect() on dirhandle STDIN?)
listen() on closed socket STDIN at - line 36.
	(Are you trying to call listen() on dirhandle STDIN?)
accept() on closed socket STDIN at - line 37.
	(Are you trying to call accept() on dirhandle STDIN?)
shutdown() on closed socket STDIN at - line 38.
	(Are you trying to call shutdown() on dirhandle STDIN?)
setsockopt() on closed socket STDIN at - line 39.
	(Are you trying to call setsockopt() on dirhandle STDIN?)
getsockopt() on closed socket STDIN at - line 40.
	(Are you trying to call getsockopt() on dirhandle STDIN?)
getsockname() on closed socket STDIN at - line 41.
	(Are you trying to call getsockname() on dirhandle STDIN?)
getpeername() on closed socket STDIN at - line 42.
	(Are you trying to call getpeername() on dirhandle STDIN?)
send() on unopened socket FOO at - line 44.
bind() on unopened socket FOO at - line 45.
connect() on unopened socket FOO at - line 46.
listen() on unopened socket FOO at - line 47.
accept() on unopened socket FOO at - line 48.
shutdown() on unopened socket FOO at - line 49.
setsockopt() on unopened socket FOO at - line 50.
getsockopt() on unopened socket FOO at - line 51.
getsockname() on unopened socket FOO at - line 52.
getpeername() on unopened socket FOO at - line 53.
send() on unopened socket FOO at - line 55.
	(Are you trying to call send() on dirhandle FOO?)
bind() on unopened socket FOO at - line 56.
	(Are you trying to call bind() on dirhandle FOO?)
connect() on unopened socket FOO at - line 57.
	(Are you trying to call connect() on dirhandle FOO?)
listen() on unopened socket FOO at - line 58.
	(Are you trying to call listen() on dirhandle FOO?)
accept() on unopened socket FOO at - line 59.
	(Are you trying to call accept() on dirhandle FOO?)
shutdown() on unopened socket FOO at - line 60.
	(Are you trying to call shutdown() on dirhandle FOO?)
setsockopt() on unopened socket FOO at - line 61.
	(Are you trying to call setsockopt() on dirhandle FOO?)
getsockopt() on unopened socket FOO at - line 62.
	(Are you trying to call getsockopt() on dirhandle FOO?)
getsockname() on unopened socket FOO at - line 63.
	(Are you trying to call getsockname() on dirhandle FOO?)
getpeername() on unopened socket FOO at - line 64.
	(Are you trying to call getpeername() on dirhandle FOO?)
accept() on unopened socket fred at - line 71.
send() on unopened socket FOO at - line 88.
bind() on unopened socket FOO at - line 89.
connect() on unopened socket FOO at - line 90.
listen() on unopened socket FOO at - line 91.
accept() on unopened socket fred at - line 92.
shutdown() on unopened socket FOO at - line 93.
setsockopt() on unopened socket FOO at - line 94.
getsockopt() on unopened socket FOO at - line 95.
getsockname() on unopened socket FOO at - line 96.
getpeername() on unopened socket FOO at - line 97.
send() on unopened socket FOO at - line 99.
	(Are you trying to call send() on dirhandle FOO?)
bind() on unopened socket FOO at - line 100.
	(Are you trying to call bind() on dirhandle FOO?)
connect() on unopened socket FOO at - line 101.
	(Are you trying to call connect() on dirhandle FOO?)
listen() on unopened socket FOO at - line 102.
	(Are you trying to call listen() on dirhandle FOO?)
accept() on unopened socket FOO at - line 103.
	(Are you trying to call accept() on dirhandle FOO?)
shutdown() on unopened socket FOO at - line 104.
	(Are you trying to call shutdown() on dirhandle FOO?)
setsockopt() on unopened socket FOO at - line 105.
	(Are you trying to call setsockopt() on dirhandle FOO?)
getsockopt() on unopened socket FOO at - line 106.
	(Are you trying to call getsockopt() on dirhandle FOO?)
getsockname() on unopened socket FOO at - line 107.
	(Are you trying to call getsockname() on dirhandle FOO?)
getpeername() on unopened socket FOO at - line 108.
	(Are you trying to call getpeername() on dirhandle FOO?)
# Failed test 675 - test from lib/warnings/pp_sys at line 297 at lib/warnings/pp_sys line 297
FILE: lib/warnings/pp_sys ; line 437
PROG: 
# pp_sys.c [pp_prtf pp_send pp_bind pp_connect pp_listen pp_accept pp_shutdown pp_ssockopt ppp_getpeername]
use warnings 'unopened';
use Config; 
BEGIN { 
  if ( $^O ne 'VMS' and ! $Config{d_socket}) {
    print <<EOM ;
SKIPPED
# send not present
# bind not present
# connect not present
# accept not present
# shutdown not present
# setsockopt not present
# getsockopt not present
# getsockname not present
# getpeername not present
EOM
    exit ;
  } 
}
close STDIN; 
send STDIN, "fred", 1;
bind STDIN, "fred" ;
connect STDIN, "fred" ;
listen STDIN, 2;
accept "fred", STDIN;
shutdown STDIN, 0;
setsockopt STDIN, 1,2,3;
getsockopt STDIN, 1,2;
getsockname STDIN;
getpeername STDIN;
opendir STDIN, ".";
send STDIN, "fred", 1;
bind STDIN, "fred" ;
connect STDIN, "fred" ;
listen STDIN, 2;
accept "fred", STDIN;
shutdown STDIN, 0;
setsockopt STDIN, 1,2,3;
getsockopt STDIN, 1,2;
getsockname STDIN;
getpeername STDIN;
closedir STDIN;
send FOO, "fred", 1;
bind FOO, "fred" ;
connect FOO, "fred" ;
listen FOO, 2;
accept "fred", FOO;
shutdown FOO, 0;
setsockopt FOO, 1,2,3;
getsockopt FOO, 1,2;
getsockname FOO;
getpeername FOO;
opendir FOO, ".";
send FOO, "fred", 1;
bind FOO, "fred" ;
connect FOO, "fred" ;
listen FOO, 2;
accept "fred", FOO;
shutdown FOO, 0;
setsockopt FOO, 1,2,3;
getsockopt FOO, 1,2;
getsockname FOO;
getpeername FOO;
closedir FOO;
no warnings 'unopened';
send STDIN, "fred", 1;
bind STDIN, "fred" ;
connect STDIN, "fred" ;
listen STDIN, 2;
accept STDIN, "fred" ;
shutdown STDIN, 0;
setsockopt STDIN, 1,2,3;
getsockopt STDIN, 1,2;
getsockname STDIN;
getpeername STDIN;
opendir STDIN, ".";
send STDIN, "fred", 1;
bind STDIN, "fred" ;
connect STDIN, "fred" ;
listen STDIN, 2;
accept "fred", STDIN;
shutdown STDIN, 0;
setsockopt STDIN, 1,2,3;
getsockopt STDIN, 1,2;
getsockname STDIN;
getpeername STDIN;
send FOO, "fred", 1;
bind FOO, "fred" ;
connect FOO, "fred" ;
listen FOO, 2;
accept FOO, "fred" ;
shutdown FOO, 0;
setsockopt FOO, 1,2,3;
getsockopt FOO, 1,2;
getsockname FOO;
getpeername FOO;
opendir FOO, ".";
send FOO, "fred", 1;
bind FOO, "fred" ;
connect FOO, "fred" ;
listen FOO, 2;
accept "fred", FOO;
shutdown FOO, 0;
setsockopt FOO, 1,2,3;
getsockopt FOO, 1,2;
getsockname FOO;
getpeername FOO;
EXPECTED:
send() on unopened socket FOO at - line 44.
bind() on unopened socket FOO at - line 45.
connect() on unopened socket FOO at - line 46.
listen() on unopened socket FOO at - line 47.
accept() on unopened socket FOO at - line 48.
shutdown() on unopened socket FOO at - line 49.
setsockopt() on unopened socket FOO at - line 50.
getsockopt() on unopened socket FOO at - line 51.
getsockname() on unopened socket FOO at - line 52.
getpeername() on unopened socket FOO at - line 53.
send() on unopened socket FOO at - line 55.
	(Are you trying to call send() on dirhandle FOO?)
bind() on unopened socket FOO at - line 56.
	(Are you trying to call bind() on dirhandle FOO?)
connect() on unopened socket FOO at - line 57.
	(Are you trying to call connect() on dirhandle FOO?)
listen() on unopened socket FOO at - line 58.
	(Are you trying to call listen() on dirhandle FOO?)
accept() on unopened socket FOO at - line 59.
	(Are you trying to call accept() on dirhandle FOO?)
shutdown() on unopened socket FOO at - line 60.
	(Are you trying to call shutdown() on dirhandle FOO?)
setsockopt() on unopened socket FOO at - line 61.
	(Are you trying to call setsockopt() on dirhandle FOO?)
getsockopt() on unopened socket FOO at - line 62.
	(Are you trying to call getsockopt() on dirhandle FOO?)
getsockname() on unopened socket FOO at - line 63.
	(Are you trying to call getsockname() on dirhandle FOO?)
getpeername() on unopened socket FOO at - line 64.
	(Are you trying to call getpeername() on dirhandle FOO?)
GOT:
Useless use of getsockname in void context at - line 30.
Useless use of getpeername in void context at - line 31.
Useless use of getsockname in void context at - line 41.
Useless use of getpeername in void context at - line 42.
Useless use of getsockname in void context at - line 52.
Useless use of getpeername in void context at - line 53.
Useless use of getsockname in void context at - line 63.
Useless use of getpeername in void context at - line 64.
Useless use of getsockname in void context at - line 75.
Useless use of getpeername in void context at - line 76.
Useless use of getsockname in void context at - line 86.
Useless use of getpeername in void context at - line 87.
Useless use of getsockname in void context at - line 96.
Useless use of getpeername in void context at - line 97.
Useless use of getsockname in void context at - line 107.
Useless use of getpeername in void context at - line 108.
send() on closed socket STDIN at - line 22.
bind() on closed socket STDIN at - line 23.
connect() on closed socket STDIN at - line 24.
listen() on closed socket STDIN at - line 25.
accept() on closed socket STDIN at - line 26.
shutdown() on closed socket STDIN at - line 27.
setsockopt() on closed socket STDIN at - line 28.
getsockopt() on closed socket STDIN at - line 29.
getsockname() on closed socket STDIN at - line 30.
getpeername() on closed socket STDIN at - line 31.
send() on closed socket STDIN at - line 33.
	(Are you trying to call send() on dirhandle STDIN?)
bind() on closed socket STDIN at - line 34.
	(Are you trying to call bind() on dirhandle STDIN?)
connect() on closed socket STDIN at - line 35.
	(Are you trying to call connect() on dirhandle STDIN?)
listen() on closed socket STDIN at - line 36.
	(Are you trying to call listen() on dirhandle STDIN?)
accept() on closed socket STDIN at - line 37.
	(Are you trying to call accept() on dirhandle STDIN?)
shutdown() on closed socket STDIN at - line 38.
	(Are you trying to call shutdown() on dirhandle STDIN?)
setsockopt() on closed socket STDIN at - line 39.
	(Are you trying to call setsockopt() on dirhandle STDIN?)
getsockopt() on closed socket STDIN at - line 40.
	(Are you trying to call getsockopt() on dirhandle STDIN?)
getsockname() on closed socket STDIN at - line 41.
	(Are you trying to call getsockname() on dirhandle STDIN?)
getpeername() on closed socket STDIN at - line 42.
	(Are you trying to call getpeername() on dirhandle STDIN?)
send() on unopened socket FOO at - line 44.
bind() on unopened socket FOO at - line 45.
connect() on unopened socket FOO at - line 46.
listen() on unopened socket FOO at - line 47.
accept() on unopened socket FOO at - line 48.
shutdown() on unopened socket FOO at - line 49.
setsockopt() on unopened socket FOO at - line 50.
getsockopt() on unopened socket FOO at - line 51.
getsockname() on unopened socket FOO at - line 52.
getpeername() on unopened socket FOO at - line 53.
send() on unopened socket FOO at - line 55.
	(Are you trying to call send() on dirhandle FOO?)
bind() on unopened socket FOO at - line 56.
	(Are you trying to call bind() on dirhandle FOO?)
connect() on unopened socket FOO at - line 57.
	(Are you trying to call connect() on dirhandle FOO?)
listen() on unopened socket FOO at - line 58.
	(Are you trying to call listen() on dirhandle FOO?)
accept() on unopened socket FOO at - line 59.
	(Are you trying to call accept() on dirhandle FOO?)
shutdown() on unopened socket FOO at - line 60.
	(Are you trying to call shutdown() on dirhandle FOO?)
setsockopt() on unopened socket FOO at - line 61.
	(Are you trying to call setsockopt() on dirhandle FOO?)
getsockopt() on unopened socket FOO at - line 62.
	(Are you trying to call getsockopt() on dirhandle FOO?)
getsockname() on unopened socket FOO at - line 63.
	(Are you trying to call getsockname() on dirhandle FOO?)
getpeername() on unopened socket FOO at - line 64.
	(Are you trying to call getpeername() on dirhandle FOO?)
send() on closed socket STDIN at - line 67.
bind() on closed socket STDIN at - line 68.
connect() on closed socket STDIN at - line 69.
listen() on closed socket STDIN at - line 70.
shutdown() on closed socket STDIN at - line 72.
setsockopt() on closed socket STDIN at - line 73.
getsockopt() on closed socket STDIN at - line 74.
getsockname() on closed socket STDIN at - line 75.
getpeername() on closed socket STDIN at - line 76.
send() on closed socket STDIN at - line 78.
	(Are you trying to call send() on dirhandle STDIN?)
bind() on closed socket STDIN at - line 79.
	(Are you trying to call bind() on dirhandle STDIN?)
connect() on closed socket STDIN at - line 80.
	(Are you trying to call connect() on dirhandle STDIN?)
listen() on closed socket STDIN at - line 81.
	(Are you trying to call listen() on dirhandle STDIN?)
accept() on closed socket STDIN at - line 82.
	(Are you trying to call accept() on dirhandle STDIN?)
shutdown() on closed socket STDIN at - line 83.
	(Are you trying to call shutdown() on dirhandle STDIN?)
setsockopt() on closed socket STDIN at - line 84.
	(Are you trying to call setsockopt() on dirhandle STDIN?)
getsockopt() on closed socket STDIN at - line 85.
	(Are you trying to call getsockopt() on dirhandle STDIN?)
getsockname() on closed socket STDIN at - line 86.
	(Are you trying to call getsockname() on dirhandle STDIN?)
getpeername() on closed socket STDIN at - line 87.
	(Are you trying to call getpeername() on dirhandle STDIN?)
# Failed test 676 - test from lib/warnings/pp_sys at line 437 at lib/warnings/pp_sys line 437
FILE: lib/warnings/pp_sys ; line 626
PROG: 
# pp_sys.c [pp_sysread]
use warnings 'io' ;
if ($^O eq 'dos') {
    print <<EOM ;
SKIPPED
# skipped on dos
EOM
    exit ;
}
my $file = "./xcv" ;
open(F, ">$file") ; 
binmode F;
my $a = sysread(F, $a,10) ;
no warnings 'io' ;
my $a = sysread(F, $a,10) ;
close F ;
use warnings 'io' ;
sysread(F, $a, 10);
read(F, $a, 10);
sysread(NONEXISTENT, $a, 10);
read(NONEXISTENT, $a, 10);
unlink $file ;
EXPECTED:
Filehandle F opened only for output at - line 13.
sysread() on closed filehandle F at - line 18.
read() on closed filehandle F at - line 19.
sysread() on unopened filehandle NONEXISTENT at - line 20.
read() on unopened filehandle NONEXISTENT at - line 21.
GOT:
"my" variable $a masks earlier declaration in same scope at - line 15.
Filehandle F opened only for output at - line 13.
sysread() on closed filehandle F at - line 18.
read() on closed filehandle F at - line 19.
sysread() on unopened filehandle NONEXISTENT at - line 20.
read() on unopened filehandle NONEXISTENT at - line 21.
# Failed test 680 - test from lib/warnings/pp_sys at line 626 at lib/warnings/pp_sys line 626
FILE: lib/warnings/pp_sys ; line 655
PROG: 
# pp_sys.c [pp_binmode]
use warnings 'unopened' ;
binmode(BLARG);
$a = "BLERG";binmode($a);
EXPECTED:
binmode() on unopened filehandle BLARG at - line 3.
binmode() on unopened filehandle at - line 4.
GOT:
Name "main::BLARG" used only once: possible typo at - line 3.
binmode() on unopened filehandle BLARG at - line 3.
binmode() on unopened filehandle at - line 4.
# Failed test 681 - test from lib/warnings/pp_sys at line 655 at lib/warnings/pp_sys line 655
FILE: lib/warnings/pp_sys ; line 702
PROG: 
# pp_sys.c [pp_getc]
use warnings qw(unopened closed) ;
getc FOO;
close STDIN;
getc STDIN;
# Create an empty file
my $file = 'getcwarn.tmp';
open FH1, ">$file" or die "# $!"; close FH1;
open FH2, $file    or die "# $!";
getc FH2; # Should not warn at EOF
close FH2;
getc FH2; # Warns, now
unlink $file;
no warnings qw(unopened closed) ;
getc FOO;
getc STDIN;
getc FH2;
EXPECTED:
getc() on unopened filehandle FOO at - line 3.
getc() on closed filehandle STDIN at - line 5.
getc() on closed filehandle FH2 at - line 12.
GOT:
getc() on unopened filehandle FOO at - line 3.
getc() on closed filehandle STDIN at - line 5.
Filehandle STDIN reopened as FH1 only for output at - line 8.
getc() on closed filehandle FH2 at - line 12.
# Failed test 684 - test from lib/warnings/pp_sys at line 702 at lib/warnings/pp_sys line 702
FILE: lib/warnings/pp_sys ; line 736
PROG: 
use Config; no strict 'vars';
BEGIN {
    if (!$Config{d_fchdir}) {
	print <<EOM;
SKIPPED
# fchdir not present
EOM
	exit;
    }
}
opendir FOO, '.'; closedir FOO;
open BAR, '.'; close BAR;
opendir $dh, '.'; closedir $dh;
open $fh, '.'; close $fh;
chdir FOO;
chdir BAR;
chdir $dh;
chdir $fh;
use warnings qw(unopened closed) ;
chdir FOO;
chdir BAR;
chdir $dh;
chdir $fh;
EXPECTED:
chdir() on unopened filehandle FOO at - line 20.
chdir() on closed filehandle BAR at - line 21.
chdir() on unopened filehandle $dh at - line 22.
chdir() on closed filehandle $fh at - line 23.
GOT:
chdir() on unopened filehandle FOO at - line 15.
chdir() on closed filehandle BAR at - line 16.
chdir() on unopened filehandle $dh at - line 17.
chdir() on closed filehandle $fh at - line 18.
chdir() on unopened filehandle FOO at - line 20.
chdir() on closed filehandle BAR at - line 21.
chdir() on unopened filehandle $dh at - line 22.
chdir() on closed filehandle $fh at - line 23.
# Failed test 686 - test from lib/warnings/pp_sys at line 736 at lib/warnings/pp_sys line 736
FILE: lib/warnings/pp_sys ; line 765
PROG: 
# pp_sys.c [pp_*dir]
use Config ; my $foo;
BEGIN {
    if ( ! $Config{d_telldir}) {
        print <<EOM ;
SKIPPED
# telldir not present
EOM
        exit
    }
}
#line 2
use warnings 'io';
opendir FOO, ".";
opendir $foo, ".";
closedir FOO;
closedir $foo;

readdir(FOO);
telldir(FOO);
seekdir(FOO, 0);
rewinddir(FOO);
closedir(FOO);

readdir($foo);
telldir($foo);
seekdir($foo, 0);
rewinddir($foo);
closedir($foo);

EXPECTED:
readdir() attempted on invalid dirhandle FOO at - line 8.
telldir() attempted on invalid dirhandle FOO at - line 9.
seekdir() attempted on invalid dirhandle FOO at - line 10.
rewinddir() attempted on invalid dirhandle FOO at - line 11.
closedir() attempted on invalid dirhandle FOO at - line 12.
readdir() attempted on invalid dirhandle $foo at - line 14.
telldir() attempted on invalid dirhandle $foo at - line 15.
seekdir() attempted on invalid dirhandle $foo at - line 16.
rewinddir() attempted on invalid dirhandle $foo at - line 17.
closedir() attempted on invalid dirhandle $foo at - line 18.
GOT:
Useless use of telldir in void context at - line 9.
Useless use of telldir in void context at - line 15.
readdir() attempted on invalid dirhandle FOO at - line 8.
telldir() attempted on invalid dirhandle FOO at - line 9.
seekdir() attempted on invalid dirhandle FOO at - line 10.
rewinddir() attempted on invalid dirhandle FOO at - line 11.
closedir() attempted on invalid dirhandle FOO at - line 12.
readdir() attempted on invalid dirhandle $foo at - line 14.
telldir() attempted on invalid dirhandle $foo at - line 15.
seekdir() attempted on invalid dirhandle $foo at - line 16.
rewinddir() attempted on invalid dirhandle $foo at - line 17.
closedir() attempted on invalid dirhandle $foo at - line 18.
# Failed test 687 - test from lib/warnings/pp_sys at line 765 at lib/warnings/pp_sys line 765
FILE: lib/warnings/pp_sys ; line 807
PROG: 
no strict;
# pp_sys.c [pp_*dir]
use Config ;
BEGIN {
    if ( ! $Config{d_telldir}) {
        print <<EOM ;
SKIPPED
# telldir not present
EOM
        exit
    }
}
#line 3
use utf8;
use open qw( :utf8 :std );
use warnings 'io';
opendir ＦＯＯ, ".";
opendir $ｆｏｏ, ".";
opendir ＦＯＯ, ".";
opendir $ｆｏｏ, ".";
closedir ＦＯＯ;
closedir $ｆｏｏ;

readdir(ＦＯＯ);
telldir(ＦＯＯ);
seekdir(ＦＯＯ, 0);
rewinddir(ＦＯＯ);
closedir(ＦＯＯ);

readdir($ｆｏｏ);
telldir($ｆｏｏ);
seekdir($ｆｏｏ, 0);
rewinddir($ｆｏｏ);
closedir($ｆｏｏ);

EXPECTED:
readdir() attempted on invalid dirhandle ＦＯＯ at - line 13.
telldir() attempted on invalid dirhandle ＦＯＯ at - line 14.
seekdir() attempted on invalid dirhandle ＦＯＯ at - line 15.
rewinddir() attempted on invalid dirhandle ＦＯＯ at - line 16.
closedir() attempted on invalid dirhandle ＦＯＯ at - line 17.
readdir() attempted on invalid dirhandle $ｆｏｏ at - line 19.
telldir() attempted on invalid dirhandle $ｆｏｏ at - line 20.
seekdir() attempted on invalid dirhandle $ｆｏｏ at - line 21.
rewinddir() attempted on invalid dirhandle $ｆｏｏ at - line 22.
closedir() attempted on invalid dirhandle $ｆｏｏ at - line 23.
GOT:
Useless use of telldir in void context at - line 14.
Useless use of telldir in void context at - line 20.
readdir() attempted on invalid dirhandle ＦＯＯ at - line 13.
telldir() attempted on invalid dirhandle ＦＯＯ at - line 14.
seekdir() attempted on invalid dirhandle ＦＯＯ at - line 15.
rewinddir() attempted on invalid dirhandle ＦＯＯ at - line 16.
closedir() attempted on invalid dirhandle ＦＯＯ at - line 17.
readdir() attempted on invalid dirhandle $ｆｏｏ at - line 19.
telldir() attempted on invalid dirhandle $ｆｏｏ at - line 20.
seekdir() attempted on invalid dirhandle $ｆｏｏ at - line 21.
rewinddir() attempted on invalid dirhandle $ｆｏｏ at - line 22.
closedir() attempted on invalid dirhandle $ｆｏｏ at - line 23.
# Failed test 688 - test from lib/warnings/pp_sys at line 807 at lib/warnings/pp_sys line 807
FILE: lib/warnings/pp_sys ; line 854
PROG: 

# pp_sys.c [pp_gmtime]
use Config;
unless ($Config{d_double_has_nan}) {
    print <<EOM ;
SKIPPED
# No nan support
EOM
    exit ;
}
gmtime("NaN");
localtime("NaN");
use warnings "overflow";
gmtime("NaN");
localtime("NaN");

EXPECTED:
gmtime(NaN) too large at - line 14.
gmtime(NaN) failed at - line 14.
localtime(NaN) too large at - line 15.
localtime(NaN) failed at - line 15.
GOT:
Useless use of gmtime in void context at - line 11.
Useless use of localtime in void context at - line 12.
Useless use of gmtime in void context at - line 14.
Useless use of localtime in void context at - line 15.
gmtime(NaN) too large at - line 11.
gmtime(NaN) failed at - line 11.
localtime(NaN) too large at - line 12.
localtime(NaN) failed at - line 12.
gmtime(NaN) too large at - line 14.
gmtime(NaN) failed at - line 14.
localtime(NaN) too large at - line 15.
localtime(NaN) failed at - line 15.
# Failed test 689 - test from lib/warnings/pp_sys at line 854 at lib/warnings/pp_sys line 854
FILE: lib/warnings/regcomp ; line 13
PROG: 
# regcomp.c
use warnings 'digit' ;
my $a = qr/\o{1238456}\x{100}/;
my $a = qr/[\o{6548321}]\x{100}/;
no warnings 'digit' ;
my $a = qr/\o{1238456}\x{100}/;
my $a = qr/[\o{6548321}]\x{100}/;
EXPECTED:
Non-octal character '8' terminates \o early.  Resolved as "\o{123}" in regex; marked by <-- HERE in m/\o{1238456} <-- HERE \x{100}/ at - line 3.
Non-octal character '8' terminates \o early.  Resolved as "\o{654}" in regex; marked by <-- HERE in m/[\o{6548321} <-- HERE ]\x{100}/ at - line 4.
GOT:
Non-octal character '8' terminates \o early.  Resolved as "\o{123}" in regex; marked by <-- HERE in m/\o{1238456} <-- HERE \x{100}/ at - line 3.
"my" variable $a masks earlier declaration in same scope at - line 4.
Non-octal character '8' terminates \o early.  Resolved as "\o{654}" in regex; marked by <-- HERE in m/[\o{6548321} <-- HERE ]\x{100}/ at - line 4.
"my" variable $a masks earlier declaration in same scope at - line 6.
"my" variable $a masks earlier declaration in same scope at - line 7.
# Failed test 694 - test from lib/warnings/regcomp at line 13 at lib/warnings/regcomp line 13
FILE: lib/warnings/sv ; line 105
PROG: 
# sv.c
my (@a, @b);
use warnings 'uninitialized' ;
my $Y = 1 ; 
my $x = 1 | $a[$Y] ;
no warnings 'uninitialized' ;
my $Y = 1 ; 
$x = 1 | $b[$Y] ;
EXPECTED:
Use of uninitialized value within @a in bitwise or (|) at - line 5.
GOT:
"my" variable $Y masks earlier declaration in same scope at - line 7.
Use of uninitialized value within @a in bitwise or (|) at - line 5.
# Failed test 720 - test from lib/warnings/sv at line 105 at lib/warnings/sv line 105
FILE: lib/warnings/sv ; line 116
PROG: 
# sv.c
my (@a, @b);
use warnings 'uninitialized' ;
my $Y = 1 ; 
my $x = 1 & $a[$Y] ;
no warnings 'uninitialized' ;
my $Y = 1 ; 
$x = 1 & $b[$Y] ;
EXPECTED:
Use of uninitialized value within @a in bitwise and (&) at - line 5.
GOT:
"my" variable $Y masks earlier declaration in same scope at - line 7.
Use of uninitialized value within @a in bitwise and (&) at - line 5.
# Failed test 721 - test from lib/warnings/sv at line 116 at lib/warnings/sv line 116
FILE: lib/warnings/sv ; line 127
PROG: 
# sv.c
my (@a, @b);
use warnings 'uninitialized' ;
my $Y = 1 ; 
my $x = ~$a[$Y] ;
no warnings 'uninitialized' ;
my $Y = 1 ; 
$x = ~$b[$Y] ;
EXPECTED:
Use of uninitialized value within @a in 1's complement (~) at - line 5.
GOT:
"my" variable $Y masks earlier declaration in same scope at - line 7.
Use of uninitialized value within @a in 1's complement (~) at - line 5.
# Failed test 722 - test from lib/warnings/sv at line 127 at lib/warnings/sv line 127
FILE: lib/warnings/sv ; line 350
PROG: 
# sv.c
use warnings 'misc' ;
*a = undef ;
(*c) = ();
no warnings 'misc' ;
*b = undef ;
(*d) = ();
EXPECTED:
Undefined value assigned to typeglob at - line 3.
Undefined value assigned to typeglob at - line 4.
GOT:
Name "main::d" used only once: possible typo at - line 7.
Name "main::a" used only once: possible typo at - line 3.
Name "main::b" used only once: possible typo at - line 6.
Name "main::c" used only once: possible typo at - line 4.
Undefined value assigned to typeglob at - line 3.
Undefined value assigned to typeglob at - line 4.
# Failed test 740 - test from lib/warnings/sv at line 350 at lib/warnings/sv line 350
FILE: lib/warnings/sv ; line 411
PROG: 
# sv.c
my $x = "a_c";
++$x;
use warnings "numeric";
$x = "a_c"; ++$x;
$x = ${ qr/abc/ }; ++$x;
$x = "123x"; ++$x;
$x = "123e"; ++$x;
$x = 0; ++$x; # none of these should warn
$x = "ABC"; ++$x;
$x = "ABC123"; ++$x;
$x = " +10"; ++$x;
EXPECTED:
Argument "a_c" isn't numeric in preincrement (++) at - line 5.
Argument "(?^:abc)" isn't numeric in preincrement (++) at - line 6.
Argument "123x" isn't numeric in preincrement (++) at - line 7.
Argument "123e" isn't numeric in preincrement (++) at - line 8.
GOT:
Argument "a_c" isn't numeric in preincrement (++) at - line 3.
Argument "a_c" isn't numeric in preincrement (++) at - line 5.
Argument "(?^:abc)" isn't numeric in preincrement (++) at - line 6.
Argument "123x" isn't numeric in preincrement (++) at - line 7.
Argument "123e" isn't numeric in preincrement (++) at - line 8.
# Failed test 746 - test from lib/warnings/sv at line 411 at lib/warnings/sv line 411
FILE: lib/warnings/toke ; line 201
PROG: 
# toke.c
no strict 'subs';
my ($a, $foo);
$a =~ m/$foo/eq;
$a =~ s/$foo/fool/seq;

EXPECTED:
Unknown regexp modifier "/e" at - line 4, near "=~ "
Unknown regexp modifier "/q" at - line 4, near "=~ "
Unknown regexp modifier "/q" at - line 5, near "=~ "
Execution of - aborted due to compilation errors.
EXIT STATUS: != 0
GOT:
Unquoted string "fool" may clash with future reserved word at - line 5.
Unknown regexp modifier "/e" at - line 4, near "=~ "
Unknown regexp modifier "/q" at - line 4, near "=~ "
Unknown regexp modifier "/q" at - line 5, near "=~ "
Execution of - aborted due to compilation errors.
EXIT STATUS: 255
# Failed test 759 - test from lib/warnings/toke at line 201 at lib/warnings/toke line 201
FILE: lib/warnings/toke ; line 214
PROG: 
# toke.c
use utf8;
use open qw( :utf8 :std );
no strict 'subs';
my ( $a, $foo );
$a =~ m/$foo/eネq;
$a =~ s/$foo/fool/seネq;

EXPECTED:
Unknown regexp modifier "/e" at - line 6, near "=~ "
Unknown regexp modifier "/ネ" at - line 6, near "=~ "
Unknown regexp modifier "/q" at - line 6, near "=~ "
Unknown regexp modifier "/ネ" at - line 7, near "=~ "
Unknown regexp modifier "/q" at - line 7, near "=~ "
Execution of - aborted due to compilation errors.
EXIT STATUS: != 0
GOT:
Unquoted string "fool" may clash with future reserved word at - line 7.
Unknown regexp modifier "/e" at - line 6, near "=~ "
Unknown regexp modifier "/ネ" at - line 6, near "=~ "
Unknown regexp modifier "/q" at - line 6, near "=~ "
Unknown regexp modifier "/ネ" at - line 7, near "=~ "
Unknown regexp modifier "/q" at - line 7, near "=~ "
Execution of - aborted due to compilation errors.
EXIT STATUS: 255
# Failed test 760 - test from lib/warnings/toke at line 214 at lib/warnings/toke line 214
FILE: lib/warnings/toke ; line 231
PROG: 
# toke.c
use warnings 'syntax' ;
s/(abc)/\1/;
no warnings 'syntax' ;
s/(abc)/\1/;
EXPECTED:
\1 better written as $1 at - line 3.
GOT:
\1 better written as $1 at - line 3.
Use of uninitialized value $_ in substitution (s///) at - line 3.
Use of uninitialized value $_ in substitution (s///) at - line 5.
# Failed test 761 - test from lib/warnings/toke at line 231 at lib/warnings/toke line 231
FILE: lib/warnings/toke ; line 294
PROG: 
# toke.c
use warnings 'syntax' ;
my @a; my $a = $a[1,2] ;
no warnings 'syntax' ;
my $a = $a[1,2] ;
EXPECTED:
Multidimensional syntax $a[1,2] not supported at - line 3.
GOT:
Multidimensional syntax $a[1,2] not supported at - line 3.
"my" variable $a masks earlier declaration in same scope at - line 5.
# Failed test 765 - test from lib/warnings/toke at line 294 at lib/warnings/toke line 294
FILE: lib/warnings/toke ; line 397
PROG: 
# toke.c
use warnings 'syntax' ;
printf ("");
printf ("") . '';
EXPECTED:
printf (...) interpreted as function at - line 4.
GOT:
printf (...) interpreted as function at - line 4.
Useless use of concatenation (.) or string in void context at - line 4.
# Failed test 776 - test from lib/warnings/toke at line 397 at lib/warnings/toke line 397
FILE: lib/warnings/toke ; line 410
PROG: 
# toke.c
use warnings 'syntax' ;
sort ("");
sort ("") . '';
EXPECTED:
sort (...) interpreted as function at - line 4.
GOT:
sort (...) interpreted as function at - line 4.
Useless use of sort in scalar context at - line 4.
Useless use of sort in void context at - line 3.
Useless use of concatenation (.) or string in void context at - line 4.
Use of uninitialized value in concatenation (.) or string at - line 4.
# Failed test 778 - test from lib/warnings/toke at line 410 at lib/warnings/toke line 410
FILE: lib/warnings/toke ; line 417
PROG: 
# toke.c
no warnings 'syntax' ;
sort ("")
EXPECTED:

GOT:
Useless use of sort in void context at - line 3.
# Failed test 779 - test from lib/warnings/toke at line 417 at lib/warnings/toke line 417
FILE: lib/warnings/toke ; line 423
PROG: 
use warnings 'syntax';
@foo::bar = 1..3;
() = "$foo'bar";
() = "@foo'bar";
() = "$#foo'bar";
no warnings 'syntax' ;
() = "$foo'bar";
() = "@foo'bar";
() = "$#foo'bar";
EXPECTED:
Old package separator used in string at - line 3.
	(Did you mean "$foo\'bar" instead?)
Old package separator used in string at - line 4.
	(Did you mean "@foo\'bar" instead?)
Old package separator used in string at - line 5.
	(Did you mean "$#foo\'bar" instead?)
GOT:
Old package separator used in string at - line 3.
	(Did you mean "$foo\'bar" instead?)
Old package separator used in string at - line 4.
	(Did you mean "@foo\'bar" instead?)
Old package separator used in string at - line 5.
	(Did you mean "$#foo\'bar" instead?)
Use of uninitialized value $foo::bar in string at - line 3.
Use of uninitialized value $foo::bar in string at - line 7.
# Failed test 780 - test from lib/warnings/toke at line 423 at lib/warnings/toke line 423
FILE: lib/warnings/toke ; line 440
PROG: 
use warnings 'syntax'; use utf8;
@fooл::barл = 1..3;
() = "$fooл'barл";
() = "@fooл'barл";
() = "$#fooл'barл";
no warnings 'syntax' ;
() = "$fooл'barл";
() = "@fooл'barл";
() = "$#fooл'barл";
EXPECTED:
Old package separator used in string at - line 3.
	(Did you mean "$fooл\'barл" instead?)
Old package separator used in string at - line 4.
	(Did you mean "@fooл\'barл" instead?)
Old package separator used in string at - line 5.
	(Did you mean "$#fooл\'barл" instead?)
GOT:
Old package separator used in string at - line 3.
Wide character in print at - line 3.
	(Did you mean "$fooл\'barл" instead?)
Old package separator used in string at - line 4.
Wide character in print at - line 4.
	(Did you mean "@fooл\'barл" instead?)
Old package separator used in string at - line 5.
Wide character in print at - line 5.
	(Did you mean "$#fooл\'barл" instead?)
Wide character in string at - line 3.
Use of uninitialized value $fooл::barл in string at - line 3.
Wide character in string at - line 7.
Use of uninitialized value $fooл::barл in string at - line 7.
# Failed test 781 - test from lib/warnings/toke at line 440 at lib/warnings/toke line 440
FILE: lib/warnings/toke ; line 579
PROG: 
# toke.c
use warnings 'syntax' ; no strict 'vars'; no strict 'subs';
$a = _123; print "$a\n";		#( 3	string)
$a = 1_23; print "$a\n";
$a = 12_3; print "$a\n";
$a = 123_; print "$a\n";		#  6
$a = _+123; print "$a\n";		#  7	string)
$a = +_123; print "$a\n";		#( 8	string)
$a = +1_23; print "$a\n";
$a = +12_3; print "$a\n";
$a = +123_; print "$a\n";		# 11
$a = _-123; print "$a\n";		#(12	string)
$a = -_123; print "$a\n";		#(13	string)
$a = -1_23; print "$a\n";
$a = -12_3; print "$a\n";
$a = -123_; print "$a\n";		# 16
$a = 123._456; print "$a\n";		# 17
$a = 123.4_56; print "$a\n";
$a = 123.45_6; print "$a\n";
$a = 123.456_; print "$a\n";		# 20
$a = +123._456; print "$a\n";		# 21
$a = +123.4_56; print "$a\n";	
$a = +123.45_6; print "$a\n";	
$a = +123.456_; print "$a\n";		# 24
$a = -123._456; print "$a\n";		# 25
$a = -123.4_56; print "$a\n";	
$a = -123.45_6; print "$a\n";
$a = -123.456_; print "$a\n";		# 28
$a = 123.456E_12; printf("%.0f\n", $a);	# 29
$a = 123.456E1_2; printf("%.0f\n", $a);
$a = 123.456E12_; printf("%.0f\n", $a);	# 31
$a = 123.456E_+12; printf("%.0f\n", $a);	# 32
$a = 123.456E+_12; printf("%.0f\n", $a);	# 33
$a = 123.456E+1_2; printf("%.0f\n", $a);
$a = 123.456E+12_; printf("%.0f\n", $a);	# 35
$a = 123.456E_-12; print "$a\n";	# 36
$a = 123.456E-_12; print "$a\n";	# 37
$a = 123.456E-1_2; print "$a\n";
$a = 123.456E-12_; print "$a\n";	# 39
$a = 1__23; print "$a\n";		# 40
$a = 12.3__4; print "$a\n";		# 41
$a = 12.34e1__2; printf("%.0f\n", $a);	# 42
no warnings 'syntax' ;
$a = _123; print "$a\n";
$a = 1_23; print "$a\n";
$a = 12_3; print "$a\n";
$a = 123_; print "$a\n";
$a = _+123; print "$a\n";
$a = +_123; print "$a\n";
$a = +1_23; print "$a\n";
$a = +12_3; print "$a\n";
$a = +123_; print "$a\n";
$a = _-123; print "$a\n";
$a = -_123; print "$a\n";
$a = -1_23; print "$a\n";
$a = -12_3; print "$a\n";
$a = -123_; print "$a\n";
$a = 123._456; print "$a\n";
$a = 123.4_56; print "$a\n";
$a = 123.45_6; print "$a\n";
$a = 123.456_; print "$a\n";
$a = +123._456; print "$a\n";
$a = +123.4_56; print "$a\n";
$a = +123.45_6; print "$a\n";
$a = +123.456_; print "$a\n";
$a = -123._456; print "$a\n";
$a = -123.4_56; print "$a\n";
$a = -123.45_6; print "$a\n";
$a = -123.456_; print "$a\n";
$a = 123.456E_12; printf("%.0f\n", $a);
$a = 123.456E1_2; printf("%.0f\n", $a);
$a = 123.456E12_; printf("%.0f\n", $a);
$a = 123.456E_+12; printf("%.0f\n", $a);
$a = 123.456E+_12; printf("%.0f\n", $a);
$a = 123.456E+1_2; printf("%.0f\n", $a);
$a = 123.456E+12_; printf("%.0f\n", $a);
$a = 123.456E_-12; print "$a\n";
$a = 123.456E-_12; print "$a\n";
$a = 123.456E-1_2; print "$a\n";
$a = 123.456E-12_; print "$a\n";
$a = 1__23; print "$a\n";
$a = 12.3__4; print "$a\n";
$a = 12.34e1__2; printf("%.0f\n", $a);
EXPECTED:
Misplaced _ in number at - line 6.
Misplaced _ in number at - line 11.
Misplaced _ in number at - line 16.
Misplaced _ in number at - line 17.
Misplaced _ in number at - line 20.
Misplaced _ in number at - line 21.
Misplaced _ in number at - line 24.
Misplaced _ in number at - line 25.
Misplaced _ in number at - line 28.
Misplaced _ in number at - line 29.
Misplaced _ in number at - line 31.
Misplaced _ in number at - line 32.
Misplaced _ in number at - line 33.
Misplaced _ in number at - line 35.
Misplaced _ in number at - line 36.
Misplaced _ in number at - line 37.
Misplaced _ in number at - line 39.
Misplaced _ in number at - line 40.
Misplaced _ in number at - line 41.
Misplaced _ in number at - line 42.
_123
123
123
123
123
_123
123
123
123
-123
-_123
-123
-123
-123
123.456
123.456
123.456
123.456
123.456
123.456
123.456
123.456
-123.456
-123.456
-123.456
-123.456
123456000000000
123456000000000
123456000000000
123456000000000
123456000000000
123456000000000
123456000000000
1.23456e-0?10
1.23456e-0?10
1.23456e-0?10
1.23456e-0?10
123
12.34
12340000000000
_123
123
123
123
123
_123
123
123
123
-123
-_123
-123
-123
-123
123.456
123.456
123.456
123.456
123.456
123.456
123.456
123.456
-123.456
-123.456
-123.456
-123.456
123456000000000
123456000000000
123456000000000
123456000000000
123456000000000
123456000000000
123456000000000
1.23456e-0?10
1.23456e-0?10
1.23456e-0?10
1.23456e-0?10
123
12.34
12340000000000
GOT:
Misplaced _ in number at - line 6.
Misplaced _ in number at - line 11.
Misplaced _ in number at - line 16.
Misplaced _ in number at - line 17.
Misplaced _ in number at - line 20.
Misplaced _ in number at - line 21.
Misplaced _ in number at - line 24.
Misplaced _ in number at - line 25.
Misplaced _ in number at - line 28.
Misplaced _ in number at - line 29.
Misplaced _ in number at - line 31.
Misplaced _ in number at - line 32.
Misplaced _ in number at - line 33.
Misplaced _ in number at - line 35.
Misplaced _ in number at - line 36.
Misplaced _ in number at - line 37.
Misplaced _ in number at - line 39.
Misplaced _ in number at - line 40.
Misplaced _ in number at - line 41.
Misplaced _ in number at - line 42.
Argument "_" isn't numeric in addition (+) at - line 7.
Argument "_" isn't numeric in subtraction (-) at - line 12.
Argument "_" isn't numeric in addition (+) at - line 48.
Argument "_" isn't numeric in subtraction (-) at - line 53.
_123
123
123
123
123
_123
123
123
123
-123
-_123
-123
-123
-123
123.456
123.456
123.456
123.456
123.456
123.456
123.456
123.456
-123.456
-123.456
-123.456
-123.456
123456000000000
123456000000000
123456000000000
123456000000000
123456000000000
123456000000000
123456000000000
1.23456e-10
1.23456e-10
1.23456e-10
1.23456e-10
123
12.34
12340000000000
_123
123
123
123
123
_123
123
123
123
-123
-_123
-123
-123
-123
123.456
123.456
123.456
123.456
123.456
123.456
123.456
123.456
-123.456
-123.456
-123.456
-123.456
123456000000000
123456000000000
123456000000000
123456000000000
123456000000000
123456000000000
123456000000000
1.23456e-10
1.23456e-10
1.23456e-10
1.23456e-10
123
12.34
12340000000000
# Failed test 790 - test from lib/warnings/toke at line 579 at lib/warnings/toke line 579
FILE: lib/warnings/toke ; line 845
PROG: 
# toke.c
my $a = rand + 4 ;
$a = rand *^H ;
$a = rand $^H ;
EXPECTED:
Warning: Use of "rand" without parentheses is ambiguous at - line 2.
GOT:
Warning: Use of "rand" without parentheses is ambiguous at - line 2.
Argument "*main::^H" isn't numeric in rand at - line 3.
# Failed test 797 - test from lib/warnings/toke at line 845 at lib/warnings/toke line 845
FILE: lib/warnings/toke ; line 880
PROG: 
# toke.c [This does not warn any more.]
sub fred {};
-fred ;
sub hank : lvalue {$_}
--hank; # This should *not* warn [perl #77240]
EXPECTED:

GOT:
Useless use of negation (-) in void context at - line 3.
Use of uninitialized value in negation (-) at - line 3.
# Failed test 801 - test from lib/warnings/toke at line 880 at lib/warnings/toke line 880
FILE: lib/warnings/toke ; line 887
PROG: 
# toke.c [This does not warn any more.]
$^W = 0 ;
sub fred {} ;
-fred ;
{
    no warnings 'ambiguous' ;
    -fred ;
    use warnings 'ambiguous' ;
    -fred ;
}
-fred ;
EXPECTED:

GOT:
Useless use of negation (-) in void context at - line 7.
Useless use of negation (-) in void context at - line 4.
Useless use of negation (-) in void context at - line 9.
Useless use of negation (-) in void context at - line 11.
Use of uninitialized value in negation (-) at - line 4.
Use of uninitialized value in negation (-) at - line 7.
Use of uninitialized value in negation (-) at - line 9.
Use of uninitialized value in negation (-) at - line 11.
# Failed test 802 - test from lib/warnings/toke at line 887 at lib/warnings/toke line 887
FILE: lib/warnings/toke ; line 900
PROG: 
# toke.c [This does not warn any more.]
use utf8;
use open qw( :utf8 :std );
sub frèd {};
-frèd ;
EXPECTED:

GOT:
Useless use of negation (-) in void context at - line 5.
Use of uninitialized value in negation (-) at - line 5.
# Failed test 803 - test from lib/warnings/toke at line 900 at lib/warnings/toke line 900
FILE: lib/warnings/toke ; line 907
PROG: 
# toke.c [This does not warn any more.]
$^W = 0 ;
use utf8;
use open qw( :utf8 :std );
sub frèd {} ;
-frèd ;
{
    no warnings 'ambiguous' ;
    -frèd ;
    use warnings 'ambiguous' ;
    -frèd ;
}
-frèd ;
EXPECTED:

GOT:
Useless use of negation (-) in void context at - line 9.
Useless use of negation (-) in void context at - line 6.
Useless use of negation (-) in void context at - line 11.
Useless use of negation (-) in void context at - line 13.
Use of uninitialized value in negation (-) at - line 6.
Use of uninitialized value in negation (-) at - line 9.
Use of uninitialized value in negation (-) at - line 11.
Use of uninitialized value in negation (-) at - line 13.
# Failed test 804 - test from lib/warnings/toke at line 907 at lib/warnings/toke line 907
FILE: lib/warnings/toke ; line 922
PROG: 
# toke.c [This does not warn any more.]
use utf8;
use open qw( :utf8 :std );
sub ᒍᒘᒊ {};
-ᒍᒘᒊ ;
EXPECTED:

GOT:
Useless use of negation (-) in void context at - line 5.
Use of uninitialized value in negation (-) at - line 5.
# Failed test 805 - test from lib/warnings/toke at line 922 at lib/warnings/toke line 922
FILE: lib/warnings/toke ; line 929
PROG: 
# toke.c [This does not warn any more.]
$^W = 0 ;
use utf8;
use open qw( :utf8 :std );
sub ᒍᒘᒊ {} ;
-ᒍᒘᒊ ;
{
    no warnings 'ambiguous' ;
    -ᒍᒘᒊ ;
    use warnings 'ambiguous' ;
    -ᒍᒘᒊ ;
}
-ᒍᒘᒊ ;
EXPECTED:

GOT:
Useless use of negation (-) in void context at - line 9.
Useless use of negation (-) in void context at - line 6.
Useless use of negation (-) in void context at - line 11.
Useless use of negation (-) in void context at - line 13.
Use of uninitialized value in negation (-) at - line 6.
Use of uninitialized value in negation (-) at - line 9.
Use of uninitialized value in negation (-) at - line 11.
Use of uninitialized value in negation (-) at - line 13.
# Failed test 806 - test from lib/warnings/toke at line 929 at lib/warnings/toke line 929
FILE: lib/warnings/toke ; line 944
PROG: 
# toke.c
open FOO || time;
open local *FOO; # should be ok
EXPECTED:
Precedence problem: open FOO should be open(FOO) at - line 2.
GOT:
Precedence problem: open FOO should be open(FOO) at - line 2.
Bareword found in conditional at - line 2.
Use of uninitialized value $FOO in open at - line 2.
Use of uninitialized value in open at - line 3.
# Failed test 807 - test from lib/warnings/toke at line 944 at lib/warnings/toke line 944
FILE: lib/warnings/toke ; line 950
PROG: 
# toke.c
use utf8;
use open qw( :utf8 :std );
open FÒÒ || time;
EXPECTED:
Precedence problem: open FÒÒ should be open(FÒÒ) at - line 4.
GOT:
Precedence problem: open FÒÒ should be open(FÒÒ) at - line 4.
Bareword found in conditional at - line 4.
Name "main::FÒÒ" used only once: possible typo at - line 4.
Use of uninitialized value $FÒÒ in open at - line 4.
# Failed test 808 - test from lib/warnings/toke at line 950 at lib/warnings/toke line 950
FILE: lib/warnings/toke ; line 957
PROG: 
# toke.c
use utf8;
use open qw( :utf8 :std );
open ᒍOO || time;
EXPECTED:
Precedence problem: open ᒍOO should be open(ᒍOO) at - line 4.
GOT:
Precedence problem: open ᒍOO should be open(ᒍOO) at - line 4.
Bareword found in conditional at - line 4.
Name "main::ᒍOO" used only once: possible typo at - line 4.
Use of uninitialized value $ᒍOO in open at - line 4.
# Failed test 809 - test from lib/warnings/toke at line 957 at lib/warnings/toke line 957
FILE: lib/warnings/toke ; line 968
PROG: 
# toke.c
$^W = 0 ;
open FOO || time;
{
    no warnings 'precedence' ;
    open FOO || time;
    use warnings 'precedence' ;
    open FOO || time;
}
open FOO || time;
open Foo::BAR; # this should not warn
EXPECTED:
Precedence problem: open FOO should be open(FOO) at - line 3.
Precedence problem: open FOO should be open(FOO) at - line 8.
Precedence problem: open FOO should be open(FOO) at - line 10.
GOT:
Precedence problem: open FOO should be open(FOO) at - line 3.
Bareword found in conditional at - line 3.
Bareword found in conditional at - line 6.
Precedence problem: open FOO should be open(FOO) at - line 8.
Bareword found in conditional at - line 8.
Precedence problem: open FOO should be open(FOO) at - line 10.
Bareword found in conditional at - line 10.
Name "Foo::BAR" used only once: possible typo at - line 11.
Use of uninitialized value $FOO in open at - line 3.
Use of uninitialized value $FOO in open at - line 6.
Use of uninitialized value $FOO in open at - line 8.
Use of uninitialized value $FOO in open at - line 10.
Use of uninitialized value $Foo::BAR in open at - line 11.
# Failed test 811 - test from lib/warnings/toke at line 968 at lib/warnings/toke line 968
FILE: lib/warnings/toke ; line 984
PROG: 
# toke.c
$^W = 0 ;
use utf8;
use open qw( :utf8 :std );
open FÒÒ || time;
{
    no warnings 'precedence' ;
    open FÒÒ || time;
    use warnings 'precedence' ;
    open FÒÒ || time;
}
open FÒÒ || time;
EXPECTED:
Precedence problem: open FÒÒ should be open(FÒÒ) at - line 5.
Precedence problem: open FÒÒ should be open(FÒÒ) at - line 10.
Precedence problem: open FÒÒ should be open(FÒÒ) at - line 12.
GOT:
Precedence problem: open FÒÒ should be open(FÒÒ) at - line 5.
Bareword found in conditional at - line 5.
Bareword found in conditional at - line 8.
Precedence problem: open FÒÒ should be open(FÒÒ) at - line 10.
Bareword found in conditional at - line 10.
Precedence problem: open FÒÒ should be open(FÒÒ) at - line 12.
Bareword found in conditional at - line 12.
Use of uninitialized value $FÒÒ in open at - line 5.
Use of uninitialized value $FÒÒ in open at - line 8.
Use of uninitialized value $FÒÒ in open at - line 10.
Use of uninitialized value $FÒÒ in open at - line 12.
# Failed test 812 - test from lib/warnings/toke at line 984 at lib/warnings/toke line 984
FILE: lib/warnings/toke ; line 1001
PROG: 
# toke.c
use utf8;
use open qw( :utf8 :std );
$^W = 0 ;
open ᒍÒÒ || time;
{
    no warnings 'precedence' ;
    open ᒍÒÒ || time;
    use warnings 'precedence' ;
    open ᒍÒÒ || time;
}
open ᒍÒÒ || time;
EXPECTED:
Precedence problem: open ᒍÒÒ should be open(ᒍÒÒ) at - line 5.
Precedence problem: open ᒍÒÒ should be open(ᒍÒÒ) at - line 10.
Precedence problem: open ᒍÒÒ should be open(ᒍÒÒ) at - line 12.
GOT:
Precedence problem: open ᒍÒÒ should be open(ᒍÒÒ) at - line 5.
Bareword found in conditional at - line 5.
Bareword found in conditional at - line 8.
Precedence problem: open ᒍÒÒ should be open(ᒍÒÒ) at - line 10.
Bareword found in conditional at - line 10.
Precedence problem: open ᒍÒÒ should be open(ᒍÒÒ) at - line 12.
Bareword found in conditional at - line 12.
Use of uninitialized value $ᒍÒÒ in open at - line 5.
Use of uninitialized value $ᒍÒÒ in open at - line 8.
Use of uninitialized value $ᒍÒÒ in open at - line 10.
Use of uninitialized value $ᒍÒÒ in open at - line 12.
# Failed test 813 - test from lib/warnings/toke at line 1001 at lib/warnings/toke line 1001
FILE: lib/warnings/toke ; line 1018
PROG: 
# toke.c
no strict; $^W = 0 ;
*foo *foo ;
{
    no warnings 'ambiguous' ;
    *foo *foo ;
    use warnings 'ambiguous' ;
    *foo *foo ;
}
*foo *foo ;
# These should not warn [perl #117535]:
foo**foo ;
no warnings 'deprecated';
sort $*foo ;
sort $ *foo ;
EXPECTED:
Operator or semicolon missing before *foo at - line 3.
Ambiguous use of * resolved as operator * at - line 3.
Operator or semicolon missing before *foo at - line 8.
Ambiguous use of * resolved as operator * at - line 8.
Operator or semicolon missing before *foo at - line 10.
Ambiguous use of * resolved as operator * at - line 10.
$* is no longer supported as of Perl 5.30 at - line 14.
GOT:
Unquoted string "foo" may clash with future reserved word at - line 3.
Operator or semicolon missing before *foo at - line 3.
Ambiguous use of * resolved as operator * at - line 3.
Unquoted string "foo" may clash with future reserved word at - line 6.
Unquoted string "foo" may clash with future reserved word at - line 8.
Operator or semicolon missing before *foo at - line 8.
Ambiguous use of * resolved as operator * at - line 8.
Useless use of multiplication (*) in void context at - line 6.
Unquoted string "foo" may clash with future reserved word at - line 10.
Operator or semicolon missing before *foo at - line 10.
Ambiguous use of * resolved as operator * at - line 10.
Unquoted string "foo" may clash with future reserved word at - line 12.
Unquoted string "foo" may clash with future reserved word at - line 12.
$* is no longer supported as of Perl 5.30 at - line 14.
# Failed test 814 - test from lib/warnings/toke at line 1018 at lib/warnings/toke line 1018
FILE: lib/warnings/toke ; line 1042
PROG: 
# toke.c
no strict; $^W = 0 ;
%foo %foo ;
{
    no warnings 'ambiguous' ;
    %foo %foo ;
    use warnings 'ambiguous' ;
    %foo %foo ;
}
%foo %foo ;
# This should not produce ambiguity warnings [perl #117535]:
sort $%foo ;
sort $ %foo ;
EXPECTED:
Operator or semicolon missing before %foo at - line 3.
Ambiguous use of % resolved as operator % at - line 3.
Operator or semicolon missing before %foo at - line 8.
Ambiguous use of % resolved as operator % at - line 8.
Operator or semicolon missing before %foo at - line 10.
Ambiguous use of % resolved as operator % at - line 10.
Bareword found where operator expected at - line 12, near "$%foo"
	(Missing operator before foo?)
Bareword found where operator expected at - line 13, near "$ %foo"
	(Missing operator before foo?)
Illegal modulus zero at - line 3.
GOT:
Unquoted string "foo" may clash with future reserved word at - line 3.
Operator or semicolon missing before %foo at - line 3.
Ambiguous use of % resolved as operator % at - line 3.
Unquoted string "foo" may clash with future reserved word at - line 6.
Unquoted string "foo" may clash with future reserved word at - line 8.
Operator or semicolon missing before %foo at - line 8.
Ambiguous use of % resolved as operator % at - line 8.
Useless use of modulus (%) in void context at - line 6.
Unquoted string "foo" may clash with future reserved word at - line 10.
Operator or semicolon missing before %foo at - line 10.
Ambiguous use of % resolved as operator % at - line 10.
Bareword found where operator expected at - line 12, near "$%foo"
	(Missing operator before foo?)
Unquoted string "foo" may clash with future reserved word at - line 12.
Bareword found where operator expected at - line 13, near "$ %foo"
	(Missing operator before foo?)
Unquoted string "foo" may clash with future reserved word at - line 13.
Useless use of modulus (%) in void context at - line 3.
Useless use of modulus (%) in void context at - line 8.
Useless use of modulus (%) in void context at - line 10.
Useless use of sort in void context at - line 12.
Useless use of sort in void context at - line 13.
Argument "foo" isn't numeric in modulus (%) at - line 3.
Illegal modulus zero at - line 3.
# Failed test 815 - test from lib/warnings/toke at line 1042 at lib/warnings/toke line 1042
FILE: lib/warnings/toke ; line 1068
PROG: 
# toke.c
no strict; $^W = 0 ;
&foo &foo ;
{
    no warnings 'ambiguous' ;
    &foo &foo ;
    use warnings 'ambiguous' ;
    &foo &foo ;
}
&foo &foo ;
# These should not warn produce ambiguity warnings [perl #76910]:
foo&&foo ;
sort $&foo ;
sort $ &foo ;
EXPECTED:
Operator or semicolon missing before &foo at - line 3.
Ambiguous use of & resolved as operator & at - line 3.
Operator or semicolon missing before &foo at - line 8.
Ambiguous use of & resolved as operator & at - line 8.
Operator or semicolon missing before &foo at - line 10.
Ambiguous use of & resolved as operator & at - line 10.
Bareword found where operator expected at - line 13, near "$&foo"
	(Missing operator before foo?)
Bareword found where operator expected at - line 14, near "$ &foo"
	(Missing operator before foo?)
Undefined subroutine &main::foo called at - line 3.
GOT:
Unquoted string "foo" may clash with future reserved word at - line 3.
Operator or semicolon missing before &foo at - line 3.
Ambiguous use of & resolved as operator & at - line 3.
Unquoted string "foo" may clash with future reserved word at - line 6.
Unquoted string "foo" may clash with future reserved word at - line 8.
Operator or semicolon missing before &foo at - line 8.
Ambiguous use of & resolved as operator & at - line 8.
Useless use of bitwise and (&) in void context at - line 6.
Unquoted string "foo" may clash with future reserved word at - line 10.
Operator or semicolon missing before &foo at - line 10.
Ambiguous use of & resolved as operator & at - line 10.
Unquoted string "foo" may clash with future reserved word at - line 12.
Unquoted string "foo" may clash with future reserved word at - line 12.
Bareword found in conditional at - line 12.
Bareword found where operator expected at - line 13, near "$&foo"
	(Missing operator before foo?)
Unquoted string "foo" may clash with future reserved word at - line 13.
Bareword found where operator expected at - line 14, near "$ &foo"
	(Missing operator before foo?)
Unquoted string "foo" may clash with future reserved word at - line 14.
Useless use of bitwise and (&) in void context at - line 3.
Useless use of bitwise and (&) in void context at - line 8.
Useless use of bitwise and (&) in void context at - line 10.
Useless use of sort in void context at - line 13.
Useless use of sort in void context at - line 14.
Undefined subroutine &main::foo called at - line 3.
# Failed test 816 - test from lib/warnings/toke at line 1068 at lib/warnings/toke line 1068
FILE: lib/warnings/toke ; line 1095
PROG: 
# toke.c
no strict; use utf8;
use open qw( :utf8 :std );
$^W = 0 ;
*ｆｏｏ *ｆｏｏ ;
{
    no warnings 'ambiguous' ;
    *ｆｏｏ *ｆｏｏ ;
    use warnings 'ambiguous' ;
    *ｆｏｏ *ｆｏｏ ;
}
*ｆｏｏ *ｆｏｏ ;
EXPECTED:
Operator or semicolon missing before *ｆｏｏ at - line 5.
Ambiguous use of * resolved as operator * at - line 5.
Operator or semicolon missing before *ｆｏｏ at - line 10.
Ambiguous use of * resolved as operator * at - line 10.
Operator or semicolon missing before *ｆｏｏ at - line 12.
Ambiguous use of * resolved as operator * at - line 12.
GOT:
Operator or semicolon missing before *ｆｏｏ at - line 5.
Ambiguous use of * resolved as operator * at - line 5.
Operator or semicolon missing before *ｆｏｏ at - line 10.
Ambiguous use of * resolved as operator * at - line 10.
Useless use of multiplication (*) in void context at - line 8.
Operator or semicolon missing before *ｆｏｏ at - line 12.
Ambiguous use of * resolved as operator * at - line 12.
Useless use of multiplication (*) in void context at - line 5.
Useless use of multiplication (*) in void context at - line 10.
Useless use of multiplication (*) in void context at - line 12.
Argument "\x{ff46}\x{ff4f}\x{ff4f}" isn't numeric in multiplication (*) at - line 5.
Argument "*main::\x{ff46}\x{ff4f}\x{ff4f}" isn't numeric in multiplication (*) at - line 5.
Argument "\x{ff46}\x{ff4f}\x{ff4f}" isn't numeric in multiplication (*) at - line 8.
Argument "*main::\x{ff46}\x{ff4f}\x{ff4f}" isn't numeric in multiplication (*) at - line 8.
Argument "\x{ff46}\x{ff4f}\x{ff4f}" isn't numeric in multiplication (*) at - line 10.
Argument "*main::\x{ff46}\x{ff4f}\x{ff4f}" isn't numeric in multiplication (*) at - line 10.
Argument "\x{ff46}\x{ff4f}\x{ff4f}" isn't numeric in multiplication (*) at - line 12.
Argument "*main::\x{ff46}\x{ff4f}\x{ff4f}" isn't numeric in multiplication (*) at - line 12.
# Failed test 817 - test from lib/warnings/toke at line 1095 at lib/warnings/toke line 1095
FILE: lib/warnings/toke ; line 1131
PROG: 
# toke.c
use feature 'postderef_qq'; no strict; 
(\$_)->$*;
"$_->$*";
(\$_)->$*;
"$_->$*";
EXPECTED:

GOT:
Useless use of a variable in void context at - line 3.
Useless use of string in void context at - line 4.
Useless use of a variable in void context at - line 5.
Useless use of string in void context at - line 6.
Use of uninitialized value $_ in scalar dereference at - line 4.
Use of uninitialized value in string at - line 4.
Use of uninitialized value $_ in scalar dereference at - line 6.
Use of uninitialized value in string at - line 6.
# Failed test 820 - test from lib/warnings/toke at line 1131 at lib/warnings/toke line 1131
FILE: lib/warnings/toke ; line 1165
PROG: 
# toke.c
use warnings 'overflow' ;
my $a =  0b011111111111111111111111111111110 ;
   $a =  0b011111111111111111111111111111111 ;
   $a =  0b10000000000000000000000000000000000000000000000000000000000000000 ;
   $a =  0x0fffffffe ;
   $a =  0x0ffffffff ;
   $a =  0x10000000000000000 ;
   $a =  0037777777776 ;
   $a =  0037777777777 ;
   $a =  002000000000000000000000;
no warnings 'overflow' ;
   $a =  0b011111111111111111111111111111110 ;
   $a =  0b011111111111111111111111111111111 ;
   $a =  0b10000000000000000000000000000000000000000000000000000000000000000 ;
   $a =  0x0fffffffe ;
   $a =  0x0ffffffff ;
   $a =  0x10000000000000000 ;
   $a =  0037777777776 ;
   $a =  0037777777777 ;
   $a =  002000000000000000000000;
EXPECTED:
Integer overflow in binary number at - line 5.
Integer overflow in hexadecimal number at - line 8.
Integer overflow in octal number at - line 11.
GOT:
Integer overflow in binary number at - line 5.
Binary number > 0b11111111111111111111111111111111 non-portable at - line 5.
Integer overflow in hexadecimal number at - line 8.
Hexadecimal number > 0xffffffff non-portable at - line 8.
Integer overflow in octal number at - line 11.
Octal number > 037777777777 non-portable at - line 11.
Binary number > 0b11111111111111111111111111111111 non-portable at - line 15.
Hexadecimal number > 0xffffffff non-portable at - line 18.
Octal number > 037777777777 non-portable at - line 21.
# Failed test 822 - test from lib/warnings/toke at line 1165 at lib/warnings/toke line 1165
FILE: lib/warnings/toke ; line 1191
PROG: 
# toke.c
no strict 'vars';
use warnings 'ambiguous';
"@mjd_previously_unused_array";        
no warnings 'ambiguous';
"@mjd_previously_unused_array2";        
EXPECTED:
Possible unintended interpolation of @mjd_previously_unused_array in string at - line 4.
GOT:
Possible unintended interpolation of @mjd_previously_unused_array in string at - line 4.
Useless use of join or string in void context at - line 4.
Useless use of join or string in void context at - line 6.
Name "main::mjd_previously_unused_array" used only once: possible typo at - line 4.
Name "main::mjd_previously_unused_array2" used only once: possible typo at - line 6.
# Failed test 823 - test from lib/warnings/toke at line 1191 at lib/warnings/toke line 1191
FILE: lib/warnings/toke ; line 1200
PROG: 
# toke.c
use utf8;
use open qw( :utf8 :std );
no strict 'vars';
use warnings 'ambiguous';
"@mjd_previously_unused_àrray";
no warnings 'ambiguous';
"@mjd_previously_unused_àrray2";        
EXPECTED:
Possible unintended interpolation of @mjd_previously_unused_àrray in string at - line 6.
GOT:
Possible unintended interpolation of @mjd_previously_unused_àrray in string at - line 6.
Useless use of join or string in void context at - line 6.
Useless use of join or string in void context at - line 8.
Name "main::mjd_previously_unused_àrray" used only once: possible typo at - line 6.
Name "main::mjd_previously_unused_àrray2" used only once: possible typo at - line 8.
# Failed test 824 - test from lib/warnings/toke at line 1200 at lib/warnings/toke line 1200
FILE: lib/warnings/toke ; line 1211
PROG: 
# toke.c
use utf8; no strict 'vars';
use open qw( :utf8 :std );
use warnings 'ambiguous';
"@mjd_previously_unused_ぁrrぁy";        
no warnings 'ambiguous';
"@mjd_previously_unused_ぁrrぁy2";        
EXPECTED:
Possible unintended interpolation of @mjd_previously_unused_ぁrrぁy in string at - line 5.
GOT:
Possible unintended interpolation of @mjd_previously_unused_ぁrrぁy in string at - line 5.
Useless use of join or string in void context at - line 5.
Useless use of join or string in void context at - line 7.
Name "main::mjd_previously_unused_ぁrrぁy" used only once: possible typo at - line 5.
Name "main::mjd_previously_unused_ぁrrぁy2" used only once: possible typo at - line 7.
# Failed test 825 - test from lib/warnings/toke at line 1211 at lib/warnings/toke line 1211
FILE: lib/warnings/toke ; line 1296
PROG: 
# toke.c
use warnings "syntax"; no warnings "deprecated";
$_ = $a = 1;
$a !=~  /1/;
$a !=~ m#1#;
$a !=~/1/;
$a !=~ y/1//;
$a !=~ tr/1//;
$a !=~ s/1//;
$a != ~/1/;
no warnings "syntax";
$a !=~  /1/;
$a !=~ m#1#;
$a !=~/1/;
$a !=~ y/1//;
$a !=~ tr/1//;
$a !=~ s/1//;
EXPECTED:
!=~ should be !~ at - line 4.
!=~ should be !~ at - line 5.
!=~ should be !~ at - line 6.
!=~ should be !~ at - line 7.
!=~ should be !~ at - line 8.
!=~ should be !~ at - line 9.
GOT:
!=~ should be !~ at - line 4.
!=~ should be !~ at - line 5.
!=~ should be !~ at - line 6.
!=~ should be !~ at - line 7.
!=~ should be !~ at - line 8.
!=~ should be !~ at - line 9.
Useless use of numeric ne (!=) in void context at - line 4.
Useless use of numeric ne (!=) in void context at - line 5.
Useless use of numeric ne (!=) in void context at - line 6.
Useless use of numeric ne (!=) in void context at - line 7.
Useless use of numeric ne (!=) in void context at - line 8.
Useless use of numeric ne (!=) in void context at - line 9.
Useless use of numeric ne (!=) in void context at - line 10.
Useless use of numeric ne (!=) in void context at - line 12.
Useless use of numeric ne (!=) in void context at - line 13.
Useless use of numeric ne (!=) in void context at - line 14.
Useless use of numeric ne (!=) in void context at - line 15.
Useless use of numeric ne (!=) in void context at - line 16.
Useless use of numeric ne (!=) in void context at - line 17.
# Failed test 835 - test from lib/warnings/toke at line 1296 at lib/warnings/toke line 1296
FILE: lib/warnings/toke ; line 1359
PROG: 
# toke.c
use warnings "ambiguous";
"foo\nn" =~ /^foo$\n/;
"foo\nn" =~ /^foo${\}n/;
my $foo = qr/^foo$\n/;
my $bar = qr/^foo${\}n/;
no warnings "ambiguous";
"foo\nn" =~ /^foo$\n/;
"foo\nn" =~ /^foo${\}n/;
my $foo = qr/^foo$\n/;
my $bar = qr/^foo${\}n/;
EXPECTED:
Possible unintended interpolation of $\ in regex at - line 3.
Possible unintended interpolation of $\ in regex at - line 5.
GOT:
Possible unintended interpolation of $\ in regex at - line 3.
Possible unintended interpolation of $\ in regex at - line 5.
"my" variable $foo masks earlier declaration in same scope at - line 10.
"my" variable $bar masks earlier declaration in same scope at - line 11.
Use of uninitialized value $\ in regexp compilation at - line 3.
Use of uninitialized value $\ in regexp compilation at - line 4.
Use of uninitialized value $\ in regexp compilation at - line 5.
Use of uninitialized value $\ in regexp compilation at - line 6.
Use of uninitialized value $\ in regexp compilation at - line 8.
Use of uninitialized value $\ in regexp compilation at - line 9.
Use of uninitialized value $\ in regexp compilation at - line 10.
Use of uninitialized value $\ in regexp compilation at - line 11.
# Failed test 837 - test from lib/warnings/toke at line 1359 at lib/warnings/toke line 1359
FILE: lib/warnings/toke ; line 1374
PROG: 
# toke.c
use warnings 'syntax' ;
my $a = "\o";
my $a = "\o{";
my $a = "\o{}";
no warnings 'syntax' ;
my $a = "\o";
my $a = "\o{";
my $a = "\o{}";
EXPECTED:
Missing braces on \o{} at - line 3, within string
Missing right brace on \o{} at - line 4, within string
Empty \o{} at - line 5, within string
BEGIN not safe after errors--compilation aborted at - line 6.
GOT:
"my" variable $a masks earlier declaration in same scope at - line 4.
"my" variable $a masks earlier declaration in same scope at - line 5.
Missing braces on \o{} at - line 3, within string
Missing right brace on \o{} at - line 4, within string
Empty \o{} at - line 5, within string
BEGIN not safe after errors--compilation aborted at - line 6.
# Failed test 838 - test from lib/warnings/toke at line 1374 at lib/warnings/toke line 1374
FILE: lib/warnings/toke ; line 1389
PROG: 
# toke.c
use warnings 'digit' ;
my $a = "\o{1238456}";
no warnings 'digit' ;
my $a = "\o{1238456}";
EXPECTED:
Non-octal character '8' terminates \o early.  Resolved as "\o{123}" at - line 3.
GOT:
Non-octal character '8' terminates \o early.  Resolved as "\o{123}" at - line 3.
"my" variable $a masks earlier declaration in same scope at - line 5.
# Failed test 839 - test from lib/warnings/toke at line 1389 at lib/warnings/toke line 1389
FILE: lib/warnings/toke ; line 1524
PROG: 
# toke.c
# [perl #107002] Erroneous ambiguity warnings
sub { # do not actually call require
  require a::b . 1; # These used to produce erroneous
  require a::b + 1; # ambiguity warnings.
}
EXPECTED:

GOT:
Useless use of single ref constructor in void context at - line 6.
# Failed test 852 - test from lib/warnings/toke at line 1524 at lib/warnings/toke line 1524
FILE: lib/warnings/toke ; line 1558
PROG: 
# toke.c
#[perl #119123] disallow literal control character variables
*{
    Foo
}; # shouldn't warn on {\n, even though \n is a control character
EXPECTED:

GOT:
Useless use of a variable in void context at - line 5.
# Failed test 854 - test from lib/warnings/toke at line 1558 at lib/warnings/toke line 1558
FILE: lib/warnings/toke ; line 1565
PROG: 
# toke.c
# [perl #120288] -X at start of line gave spurious warning, where X is not
# a filetest operator
-a;
;-a;
EXPECTED:

GOT:
Useless use of a constant ("-a") in void context at - line 4.
Useless use of a constant ("-a") in void context at - line 5.
# Failed test 855 - test from lib/warnings/toke at line 1565 at lib/warnings/toke line 1565
FILE: lib/warnings/toke ; line 1681
PROG: 
no strict; BEGIN{$0="";$^H=hex join""=>A00000}p?
EXPECTED:
syntax error at - line 1, at EOF
Execution of - aborted due to compilation errors.
EXIT STATUS: != 0
GOT:
Unquoted string "p" may clash with future reserved word at - line 1.
syntax error at - line 1, at EOF
Execution of - aborted due to compilation errors.
EXIT STATUS: 255
# Failed test 866 - [perl \#129036] Assertion failure at lib/warnings/toke line 1681
FILE: lib/warnings/toke ; line 1688
PROG: 
use utf8;
qw∘foo ∞ ♥ bar∘
EXPECTED:

GOT:
Useless use of a constant ("foo") in void context at - line 2.
Useless use of a constant ("\x{221e}") in void context at - line 2.
Useless use of a constant ("\x{2665}") in void context at - line 2.
Useless use of a constant ("bar") in void context at - line 2.
# Failed test 867 - [perl \#130655] at lib/warnings/toke line 1688
FILE: lib/warnings/utf8 ; line 46
PROG: 
use warnings 'utf8';
my $d7ff  = uc(chr(0xD7FF));
my $d800  = uc(chr(0xD800));
my $dfff  = uc(chr(0xDFFF));
my $e000  = uc(chr(0xE000));
my $feff  = uc(chr(0xFEFF));
my $fffd  = uc(chr(0xFFFD));
my $fffe  = uc(chr(0xFFFE));
my $ffff  = uc(chr(0xFFFF));
my $hex4  = uc(chr(0x10000));
my $hex5  = uc(chr(0x100000));
my $maxm1 = uc(chr(0x10FFFE));
my $max   = uc(chr(0x10FFFF));
my $nonUnicode =  uc(chr(0x110000));
no warnings 'utf8';
my $d7ff  = uc(chr(0xD7FF));
my $d800  = uc(chr(0xD800));
my $dfff  = uc(chr(0xDFFF));
my $e000  = uc(chr(0xE000));
my $feff  = uc(chr(0xFEFF));
my $fffd  = uc(chr(0xFFFD));
my $fffe  = uc(chr(0xFFFE));
my $ffff  = uc(chr(0xFFFF));
my $hex4  = uc(chr(0x10000));
my $hex5  = uc(chr(0x100000));
my $maxm1 = uc(chr(0x10FFFE));
my $max   = uc(chr(0x10FFFF));
my $nonUnicode =  uc(chr(0x110000));
EXPECTED:
Operation "uc" returns its argument for UTF-16 surrogate U+D800 at - line 3.
Operation "uc" returns its argument for UTF-16 surrogate U+DFFF at - line 4.
Operation "uc" returns its argument for non-Unicode code point 0x110000 at - line 14.
GOT:
"my" variable $d7ff masks earlier declaration in same scope at - line 16.
"my" variable $d800 masks earlier declaration in same scope at - line 17.
"my" variable $dfff masks earlier declaration in same scope at - line 18.
"my" variable $e000 masks earlier declaration in same scope at - line 19.
"my" variable $feff masks earlier declaration in same scope at - line 20.
"my" variable $fffd masks earlier declaration in same scope at - line 21.
"my" variable $fffe masks earlier declaration in same scope at - line 22.
"my" variable $ffff masks earlier declaration in same scope at - line 23.
"my" variable $hex4 masks earlier declaration in same scope at - line 24.
"my" variable $hex5 masks earlier declaration in same scope at - line 25.
"my" variable $maxm1 masks earlier declaration in same scope at - line 26.
"my" variable $max masks earlier declaration in same scope at - line 27.
"my" variable $nonUnicode masks earlier declaration in same scope at - line 28.
Operation "uc" returns its argument for UTF-16 surrogate U+D800 at - line 3.
Operation "uc" returns its argument for UTF-16 surrogate U+DFFF at - line 4.
Operation "uc" returns its argument for non-Unicode code point 0x110000 at - line 14.
# Failed test 879 - test from lib/warnings/utf8 at line 46 at lib/warnings/utf8 line 46
FILE: lib/warnings/utf8 ; line 79
PROG: 
use warnings 'utf8';
my $d800  = uc(chr(0xD800));
my $nonUnicode =  uc(chr(0x110000));
no warnings 'surrogate';
my $d800  = uc(chr(0xD800));
my $nonUnicode =  uc(chr(0x110000));
EXPECTED:
Operation "uc" returns its argument for UTF-16 surrogate U+D800 at - line 2.
Operation "uc" returns its argument for non-Unicode code point 0x110000 at - line 3.
Operation "uc" returns its argument for non-Unicode code point 0x110000 at - line 6.
GOT:
"my" variable $d800 masks earlier declaration in same scope at - line 5.
"my" variable $nonUnicode masks earlier declaration in same scope at - line 6.
Operation "uc" returns its argument for UTF-16 surrogate U+D800 at - line 2.
Operation "uc" returns its argument for non-Unicode code point 0x110000 at - line 3.
Operation "uc" returns its argument for non-Unicode code point 0x110000 at - line 6.
# Failed test 880 - test from lib/warnings/utf8 at line 79 at lib/warnings/utf8 line 79
FILE: lib/warnings/utf8 ; line 90
PROG: 
use warnings 'utf8';
my $d800  = uc(chr(0xD800));
my $nonUnicode =  uc(chr(0x110000));
no warnings 'non_unicode';
my $d800  = uc(chr(0xD800));
my $nonUnicode =  uc(chr(0x110000));
EXPECTED:
Operation "uc" returns its argument for UTF-16 surrogate U+D800 at - line 2.
Operation "uc" returns its argument for non-Unicode code point 0x110000 at - line 3.
Operation "uc" returns its argument for UTF-16 surrogate U+D800 at - line 5.
GOT:
"my" variable $d800 masks earlier declaration in same scope at - line 5.
"my" variable $nonUnicode masks earlier declaration in same scope at - line 6.
Operation "uc" returns its argument for UTF-16 surrogate U+D800 at - line 2.
Operation "uc" returns its argument for non-Unicode code point 0x110000 at - line 3.
Operation "uc" returns its argument for UTF-16 surrogate U+D800 at - line 5.
# Failed test 881 - test from lib/warnings/utf8 at line 90 at lib/warnings/utf8 line 90
FILE: lib/warnings/utf8 ; line 101
PROG: 
use warnings 'utf8';
my $big_nonUnicode = uc(chr(0x7FFF_FFFF));
no warnings 'non_unicode';
my $big_nonUnicode = uc(chr(0x7FFF_FFFF));
EXPECTED:
Operation "uc" returns its argument for non-Unicode code point 0x7FFFFFFF at - line 2.
GOT:
"my" variable $big_nonUnicode masks earlier declaration in same scope at - line 4.
Operation "uc" returns its argument for non-Unicode code point 0x7FFFFFFF at - line 2.
# Failed test 882 - test from lib/warnings/utf8 at line 101 at lib/warnings/utf8 line 101
FILE: lib/warnings/utf8 ; line 108
PROG: 
use warnings 'utf8';
my $d7ff  = lc pack("U", 0xD7FF);
my $d800  = lc pack("U", 0xD800);
my $dfff  = lc pack("U", 0xDFFF);
my $e000  = lc pack("U", 0xE000);
my $feff  = lc pack("U", 0xFEFF);
my $fffd  = lc pack("U", 0xFFFD);
my $fffe  = lc pack("U", 0xFFFE);
my $ffff  = lc pack("U", 0xFFFF);
my $hex4  = lc pack("U", 0x10000);
my $hex5  = lc pack("U", 0x100000);
my $maxm1 = lc pack("U", 0x10FFFE);
my $max   = lc pack("U", 0x10FFFF);
my $nonUnicode =  lc(pack("U", 0x110000));
no warnings 'utf8';
my $d7ff  = lc pack("U", 0xD7FF);
my $d800  = lc pack("U", 0xD800);
my $dfff  = lc pack("U", 0xDFFF);
my $e000  = lc pack("U", 0xE000);
my $feff  = lc pack("U", 0xFEFF);
my $fffd  = lc pack("U", 0xFFFD);
my $fffe  = lc pack("U", 0xFFFE);
my $ffff  = lc pack("U", 0xFFFF);
my $hex4  = lc pack("U", 0x10000);
my $hex5  = lc pack("U", 0x100000);
my $maxm1 = lc pack("U", 0x10FFFE);
my $max   = lc pack("U", 0x10FFFF);
my $nonUnicode =  lc(pack("U", 0x110000));
EXPECTED:
Operation "lc" returns its argument for UTF-16 surrogate U+D800 at - line 3.
Operation "lc" returns its argument for UTF-16 surrogate U+DFFF at - line 4.
Operation "lc" returns its argument for non-Unicode code point 0x110000 at - line 14.
GOT:
"my" variable $d7ff masks earlier declaration in same scope at - line 16.
"my" variable $d800 masks earlier declaration in same scope at - line 17.
"my" variable $dfff masks earlier declaration in same scope at - line 18.
"my" variable $e000 masks earlier declaration in same scope at - line 19.
"my" variable $feff masks earlier declaration in same scope at - line 20.
"my" variable $fffd masks earlier declaration in same scope at - line 21.
"my" variable $fffe masks earlier declaration in same scope at - line 22.
"my" variable $ffff masks earlier declaration in same scope at - line 23.
"my" variable $hex4 masks earlier declaration in same scope at - line 24.
"my" variable $hex5 masks earlier declaration in same scope at - line 25.
"my" variable $maxm1 masks earlier declaration in same scope at - line 26.
"my" variable $max masks earlier declaration in same scope at - line 27.
"my" variable $nonUnicode masks earlier declaration in same scope at - line 28.
Operation "lc" returns its argument for UTF-16 surrogate U+D800 at - line 3.
Operation "lc" returns its argument for UTF-16 surrogate U+DFFF at - line 4.
Operation "lc" returns its argument for non-Unicode code point 0x110000 at - line 14.
# Failed test 883 - test from lib/warnings/utf8 at line 108 at lib/warnings/utf8 line 108
FILE: lib/warnings/utf8 ; line 141
PROG: 
use warnings 'utf8';
my $d7ff  = ucfirst "\x{D7FF}";
my $d800  = ucfirst "\x{D800}";
my $dfff  = ucfirst "\x{DFFF}";
my $e000  = ucfirst "\x{E000}";
my $feff  = ucfirst "\x{FEFF}";
my $fffd  = ucfirst "\x{FFFD}";
my $fffe  = ucfirst "\x{FFFE}";
my $ffff  = ucfirst "\x{FFFF}";
my $hex4  = ucfirst "\x{10000}";
my $hex5  = ucfirst "\x{100000}";
my $maxm1 = ucfirst "\x{10FFFE}";
my $max   = ucfirst "\x{10FFFF}";
my $nonUnicode =  ucfirst "\x{110000}";
no warnings 'utf8';
my $d7ff  = ucfirst "\x{D7FF}";
my $d800  = ucfirst "\x{D800}";
my $dfff  = ucfirst "\x{DFFF}";
my $e000  = ucfirst "\x{E000}";
my $feff  = ucfirst "\x{FEFF}";
my $fffd  = ucfirst "\x{FFFD}";
my $fffe  = ucfirst "\x{FFFE}";
my $ffff  = ucfirst "\x{FFFF}";
my $hex4  = ucfirst "\x{10000}";
my $hex5  = ucfirst "\x{100000}";
my $maxm1 = ucfirst "\x{10FFFE}";
my $max   = ucfirst "\x{10FFFF}";
my $nonUnicode =  ucfirst "\x{110000}";
EXPECTED:
Operation "ucfirst" returns its argument for UTF-16 surrogate U+D800 at - line 3.
Operation "ucfirst" returns its argument for UTF-16 surrogate U+DFFF at - line 4.
Operation "ucfirst" returns its argument for non-Unicode code point 0x110000 at - line 14.
GOT:
"my" variable $d7ff masks earlier declaration in same scope at - line 16.
"my" variable $d800 masks earlier declaration in same scope at - line 17.
"my" variable $dfff masks earlier declaration in same scope at - line 18.
"my" variable $e000 masks earlier declaration in same scope at - line 19.
"my" variable $feff masks earlier declaration in same scope at - line 20.
"my" variable $fffd masks earlier declaration in same scope at - line 21.
"my" variable $fffe masks earlier declaration in same scope at - line 22.
"my" variable $ffff masks earlier declaration in same scope at - line 23.
"my" variable $hex4 masks earlier declaration in same scope at - line 24.
"my" variable $hex5 masks earlier declaration in same scope at - line 25.
"my" variable $maxm1 masks earlier declaration in same scope at - line 26.
"my" variable $max masks earlier declaration in same scope at - line 27.
"my" variable $nonUnicode masks earlier declaration in same scope at - line 28.
Operation "ucfirst" returns its argument for UTF-16 surrogate U+D800 at - line 3.
Operation "ucfirst" returns its argument for UTF-16 surrogate U+DFFF at - line 4.
Operation "ucfirst" returns its argument for non-Unicode code point 0x110000 at - line 14.
# Failed test 884 - test from lib/warnings/utf8 at line 141 at lib/warnings/utf8 line 141
FILE: lib/warnings/utf8 ; line 738
PROG: 
require "../test.pl";
use warnings 'non_unicode';
my $max_cp = ~0 >> 1;
my $max_char = chr $max_cp;
my $temp = qr/$max_char/;
$temp = uc($max_char);
$max_char =~ /[\x{110000}\P{Unassigned}]/;
my $file = tempfile();
open(my $fh, "+>:utf8", $file);
print $fh $max_char, "\n";
close $fh;
my $error_cp = $max_cp + 1;
my $error_char = chr $error_cp;
EXPECTED:
Operation "uc" returns its argument for non-Unicode code point 0x7F+ at - line \d+.
Code point 0x7F+ is not Unicode, (may not be|requires a Perl extension, and so is not) portable in print at - line \d+.
Use of code point 0x80+ is not allowed; the permissible max is 0x7F+\ at - line \d+.
EXIT STATUS: != 0
GOT:
Wide character in regexp compilation at - line 5.
Code point 0x7FFFFFFFFFFFFFFF is not Unicode, requires a Perl extension, and so is not portable in regex; marked by <-- HERE in m/ <-- HERE / at - line 5.
Operation "uc" returns its argument for non-Unicode code point 0x7FFFFFFFFFFFFFFF at - line 6.
Code point 0x7FFFFFFFFFFFFFFF is not Unicode, requires a Perl extension, and so is not portable in print at - line 10.
Use of code point 0x8000000000000000 is not allowed; the permissible max is 0x7FFFFFFFFFFFFFFF at - line 13.
EXIT STATUS: 25
# Failed test 906 - Fatality of too-large code points, but IV_MAX works, warns at lib/warnings/utf8 line 738
FILE: lib/warnings/utf8 ; line 758
PROG: 
BEGIN{
    if (ord('A') == 193) {
        print "SKIPPED\n# ebcdic platforms generates different Malformed UTF-8 warnings.";
        exit 0;
    }
    use Config; my %Double;
    unless ($Double{double_style_ieee}) {
        print "SKIPPED\n# non-IEEE fp range.";
        exit 0;
    }
{};$^H=eval'2**400'}
EXPECTED:
Malformed UTF-8 character: \xc2\x0a (unexpected non-continuation byte 0x0a, immediately after start byte 0xc2; need 2 bytes, got 1) at - line 11.
GOT:
Useless use of anonymous hash ({}) in void context at - line 11.
SKIPPED
# non-IEEE fp range.
# Failed test 907 - [perl \#127262] at lib/warnings/utf8 line 758
FILE: lib/warnings/util ; line 50
PROG: 
# util.c
use warnings 'overflow' ;
my $a =  oct "0b11111111111111111111111111111111111111111111111111111111111111111";
no warnings 'overflow' ;
$a =  oct "0b11111111111111111111111111111111111111111111111111111111111111111";
EXPECTED:
Integer overflow in binary number at - line 3.
GOT:
Integer overflow in binary number at - line 3.
Binary number > 0b11111111111111111111111111111111 non-portable at - line 3.
Binary number > 0b11111111111111111111111111111111 non-portable at - line 5.
# Failed test 912 - test from lib/warnings/util at line 50 at lib/warnings/util line 50
FILE: lib/warnings/util ; line 58
PROG: 
# util.c
use warnings 'overflow' ;
my $a =  hex "0xffffffffffffffffffff" ;
no warnings 'overflow' ;
$a =  hex "0xffffffffffffffffffff" ;
EXPECTED:
Integer overflow in hexadecimal number at - line 3.
GOT:
Integer overflow in hexadecimal number at - line 3.
Hexadecimal number > 0xffffffff non-portable at - line 3.
Hexadecimal number > 0xffffffff non-portable at - line 5.
# Failed test 913 - test from lib/warnings/util at line 58 at lib/warnings/util line 58
FILE: lib/warnings/util ; line 66
PROG: 
# util.c
use warnings 'overflow' ;
my $a =  oct "077777777777777777777777777777" ;
no warnings 'overflow' ;
$a =  oct "077777777777777777777777777777" ;
EXPECTED:
Integer overflow in octal number at - line 3.
GOT:
Integer overflow in octal number at - line 3.
Octal number > 037777777777 non-portable at - line 3.
Octal number > 037777777777 non-portable at - line 5.
# Failed test 914 - test from lib/warnings/util at line 66 at lib/warnings/util line 66
#
# Note: 'run_multiple_progs' run has one or more failures
#        you can consider setting the environment variable
#        PERL_TEST_ABORT_FIRST_FAILURE=1 before running the test
#        to stop on the first error.
#
FAILED at test 1

