doio.c Can't open bidirectional pipe [Perl_do_open9] open(F, "| true |"); Missing command in piped open [Perl_do_open9] open(F, "| "); Missing command in piped open [Perl_do_open9] open(F, " |"); warn(warn_nl, "open"); [Perl_do_open9] open(F, "true\ncd") close() on unopened filehandle %s [Perl_do_close] $a = "fred";close("$a") tell() on closed filehandle [Perl_do_tell] $a = "fred";$a = tell($a) seek() on closed filehandle [Perl_do_seek] $a = "fred";$a = seek($a,1,1) sysseek() on closed filehandle [Perl_do_sysseek] $a = "fred";$a = seek($a,1,1) warn(warn_uninit); [Perl_do_print] print $a ; -x on closed filehandle %s [Perl_my_stat] close STDIN ; -x STDIN ; warn(warn_nl, "stat"); [Perl_my_stat] stat "ab\ncd" warn(warn_nl, "lstat"); [Perl_my_lstat] lstat "ab\ncd" Use of -l on filehandle %s [Perl_my_lstat] Can't exec \"%s\": %s [Perl_do_aexec5] Can't exec \"%s\": %s [Perl_do_exec3] Filehandle %s opened only for output [Perl_do_eof] my $a = eof STDOUT Mandatory Warnings ALL TODO ------------------ Can't do inplace edit: %s is not a regular file [Perl_nextargv] edit a directory Can't do inplace edit: %s would not be unique [Perl_nextargv] Can't rename %s to %s: %s, skipping file [Perl_nextargv] Can't rename %s to %s: %s, skipping file [Perl_nextargv] Can't remove %s: %s, skipping file [Perl_nextargv] Can't do inplace edit on %s: %s [Perl_nextargv] __END__ # doio.c [Perl_do_open9] use warnings 'io' ; open(F, '|'.($^O eq 'VMS' ? 'mcr ':'')."$^X -e 1|"); close(F); no warnings 'io' ; open(G, '|'.($^O eq 'VMS' ? 'mcr ':'')."$^X -e 1|"); close(G); EXPECT Can't open bidirectional pipe at - line 3. ######## # doio.c [Perl_do_open9] use warnings 'io' ; open(F, "| "); no warnings 'io' ; open(G, "| "); EXPECT Missing command in piped open at - line 3. ######## # doio.c [Perl_do_open9] use warnings 'io' ; open(F, " |"); no warnings 'io' ; open(G, " |"); EXPECT Missing command in piped open at - line 3. ######## # doio.c [Perl_do_open9] use warnings 'io' ; open(F, "<true\ncd"); no warnings 'io' ; open(G, "<true\ncd"); EXPECT Unsuccessful open on filename containing newline at - line 3. ######## # doio.c [Perl_do_close] <<TODO use warnings 'unopened' ; close "fred" ; no warnings 'unopened' ; close "joe" ; EXPECT close() on unopened filehandle fred at - line 3. ######## # 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); EXPECT 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. ######## # doio.c [Perl_do_print] use warnings 'uninitialized' ; print $a ; no warnings 'uninitialized' ; print $b ; EXPECT Use of uninitialized value in print at - line 3. ######## # doio.c [Perl_my_stat Perl_my_lstat] use warnings 'io' ; stat "ab\ncd"; lstat "ab\ncd"; no warnings 'io' ; stat "ab\ncd"; lstat "ab\ncd"; EXPECT Unsuccessful stat on filename containing newline at - line 3. Unsuccessful stat on filename containing newline at - line 4. ######## # doio.c [Perl_my_stat] use warnings 'io'; -l STDIN; -l $fh; open $fh, $0 or die "# $!"; -l $fh; no warnings 'io'; -l STDIN; -l $fh; close $fh; EXPECT Use of -l on filehandle STDIN at - line 3. Use of -l on filehandle $fh at - line 6. ######## # doio.c [Perl_do_aexec5] BEGIN { if ($^O eq 'MacOS') { print <<EOM; SKIPPED # no exec on Mac OS EOM exit; } } use warnings 'io' ; exec "lskdjfalksdjfdjfkls","" ; no warnings 'io' ; exec "lskdjfalksdjfdjfkls","" ; EXPECT OPTION regex Can't exec "lskdjfalksdjfdjfkls": .+ ######## # doio.c [Perl_do_exec3] BEGIN { if ($^O eq 'MacOS') { print <<EOM; SKIPPED # no exec on Mac OS EOM exit; } } use warnings 'io' ; exec "lskdjfalksdjfdjfkls", "abc" ; no warnings 'io' ; exec "lskdjfalksdjfdjfkls", "abc" ; EXPECT OPTION regex Can't exec "lskdjfalksdjfdjfkls(:? abc)?": .+ ######## # doio.c [win32_execvp] BEGIN { if ($^O eq 'MacOS') { print <<EOM; SKIPPED # no exec on Mac OS EOM exit; } } use warnings 'exec' ; exec $^X, "-e0" ; EXPECT ######## # doio.c [Perl_nextargv] $^W = 0 ; my $filename = "./temp.dir" ; mkdir $filename, 0777 or die "Cannot create directory $filename: $!\n" ; { local (@ARGV) = ($filename) ; local ($^I) = "" ; my $x = <> ; } { no warnings 'inplace' ; local (@ARGV) = ($filename) ; local ($^I) = "" ; my $x = <> ; } { use warnings 'inplace' ; local (@ARGV) = ($filename) ; local ($^I) = "" ; my $x = <> ; } rmdir $filename ; EXPECT Can't do inplace edit: ./temp.dir is not a regular file at - line 9. Can't do inplace edit: ./temp.dir is not a regular file at - line 21. ######## # doio.c [Perl_do_eof] use warnings 'io' ; my $a = eof STDOUT ; no warnings 'io' ; $a = eof STDOUT ; EXPECT Filehandle STDOUT opened only for output at - line 3. ######## # doio.c [Perl_do_openn] use Config; BEGIN { if ($Config{useperlio}) { print <<EOM; SKIPPED # warns only without perlio EOM exit; } } use warnings 'io'; my $x = "foo"; open FOO, '>', \$x; open BAR, '>&', \*STDOUT; # should not warn no warnings 'io'; open FOO, '>', \$x; EXPECT Can't open a reference at - line 14. ######## # doio.c [Perl_do_openn] use Config; BEGIN { if (!$Config{useperlio}) { print <<EOM; SKIPPED # warns only with perlio EOM exit; } } use warnings 'io' ; close STDOUT; open FH1, "harness"; close FH1; no warnings 'io' ; open FH2, "harness"; close FH2; EXPECT Filehandle STDOUT reopened as FH1 only for input at - line 14. ######## # doio.c [Perl_do_openn] use Config; BEGIN { if (!$Config{useperlio}) { print <<EOM; SKIPPED # warns only with perlio EOM exit; } } use warnings 'io' ; close STDIN; open my $fh1, ">doiowarn.tmp"; close $fh1; no warnings 'io' ; open my $fh2, ">doiowarn.tmp"; close $fh2; unlink "doiowarn.tmp"; EXPECT Filehandle STDIN reopened as $fh1 only for output at - line 14.