pp_sys.c AOK untie attempted while %d inner references still exist [pp_untie] sub TIESCALAR { bless [] } ; tie $a, 'main'; untie $a ; fileno() on unopened filehandle abc [pp_fileno] $a = "abc"; fileno($a) binmode() on unopened filehandle abc [pp_binmode] $a = "abc"; fileno($a) printf() on unopened filehandle abc [pp_prtf] $a = "abc"; printf $a "fred" Filehandle %s opened only for input [pp_leavewrite] format STDIN = . write STDIN; write() on closed filehandle %s [pp_leavewrite] format STDIN = . close STDIN; write STDIN ; page overflow [pp_leavewrite] printf() on unopened filehandle abc [pp_prtf] $a = "abc"; printf $a "fred" Filehandle %s opened only for input [pp_prtf] $a = "abc"; printf $a "fred" printf() on closed filehandle %s [pp_prtf] close STDIN ; printf STDIN "fred" syswrite() on closed filehandle %s [pp_send] close STDIN; syswrite STDIN, "fred", 1; send() on closed socket %s [pp_send] close STDIN; send STDIN, "fred", 1 bind() on closed socket %s [pp_bind] close STDIN; bind STDIN, "fred" ; connect() on closed socket %s [pp_connect] close STDIN; connect STDIN, "fred" ; listen() on closed socket %s [pp_listen] close STDIN; listen STDIN, 2; accept() on closed socket %s [pp_accept] close STDIN; accept "fred", STDIN ; shutdown() on closed socket %s [pp_shutdown] close STDIN; shutdown STDIN, 0; setsockopt() on closed socket %s [pp_ssockopt] getsockopt() on closed socket %s [pp_ssockopt] close STDIN; setsockopt STDIN, 1,2,3; getsockopt STDIN, 1,2; getsockname() on closed socket %s [pp_getpeername] getpeername() on closed socket %s [pp_getpeername] close STDIN; getsockname STDIN; getpeername STDIN; flock() on closed socket %s [pp_flock] flock() on closed socket [pp_flock] close STDIN; flock STDIN, 8; flock $a, 8; warn(warn_nl, "stat"); [pp_stat] -T on closed filehandle %s stat() on closed filehandle %s close STDIN ; -T STDIN ; stat(STDIN) ; warn(warn_nl, "open"); [pp_fttext] -T "abc\ndef" ; Filehandle %s opened only for output [pp_sysread] my $file = "./xcv" ; open(F, ">$file") ; my $a = sysread(F, $a,10) ; lstat on filehandle %s [pp_lstat] getc() on unopened filehandle [pp_getc] getc() on closed filehandle [pp_getc] Non-string passed as bitmask [pp_sselect] %s too large [pp_gmtime] %s failed [pp_gmtime] __END__ # pp_sys.c [pp_untie] use warnings 'untie' ; sub TIESCALAR { bless [] } ; $b = tie $a, 'main'; untie $a ; no warnings 'untie' ; $c = tie $d, 'main'; untie $d ; EXPECT untie attempted while 1 inner references still exist at - line 5. ######## # pp_sys.c [pp_leavewrite] use warnings 'io' ; format STDIN = . write STDIN; no warnings 'io' ; write STDIN; EXPECT Filehandle STDIN opened only for input at - line 5. ######## # 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; EXPECT 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?) ######## # 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; EXPECT 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?) ######## # pp_sys.c [pp_leavewrite] use warnings 'io' ; format STDOUT_TOP = abc . format STDOUT = def ghi . $= = 1 ; $- =1 ; open STDOUT, ">".($^O eq 'VMS'? 'NL:' : '/dev/null') ; write ; no warnings 'io' ; write ; EXPECT page overflow at - line 13. ######## # pp_sys.c [pp_prtf] use warnings 'unopened' ; $a = "abc"; printf $a "fred"; no warnings 'unopened' ; printf $a "fred"; EXPECT printf() on unopened filehandle abc at - line 4. ######## # pp_sys.c [pp_prtf] use warnings 'closed' ; close STDIN ; printf STDIN "fred"; opendir STDIN, "."; printf STDIN "fred"; closedir STDIN; no warnings 'closed' ; printf STDIN "fred"; opendir STDIN, "."; printf STDIN "fred"; EXPECT printf() on closed filehandle STDIN at - line 4. printf() on closed filehandle STDIN at - line 6. (Are you trying to call printf() on dirhandle STDIN?) ######## # pp_sys.c [pp_prtf] use warnings 'io' ; printf STDIN "fred"; no warnings 'io' ; printf STDIN "fred"; EXPECT Filehandle STDIN opened only for input at - line 3. ######## # pp_sys.c [pp_send] use warnings 'io' ; syswrite STDIN, "fred"; no warnings 'io' ; syswrite STDIN, "fred"; EXPECT Filehandle STDIN opened only for input at - line 3. ######## # pp_sys.c [pp_send] use warnings 'closed' ; close STDIN; syswrite STDIN, "fred", 1; opendir STDIN, "."; syswrite STDIN, "fred", 1; closedir STDIN; no warnings 'closed' ; syswrite STDIN, "fred", 1; opendir STDIN, "."; syswrite STDIN, "fred", 1; EXPECT syswrite() on closed filehandle STDIN at - line 4. syswrite() on closed filehandle STDIN at - line 6. (Are you trying to call syswrite() on dirhandle STDIN?) ######## # pp_sys.c [pp_flock] use Config; BEGIN { if ( !$Config{d_flock} && !$Config{d_fcntl_can_lock} && !$Config{d_lockf} ) { print <$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 ; EXPECT 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. ######## # pp_sys.c [pp_binmode] use warnings 'unopened' ; binmode(BLARG); $a = "BLERG";binmode($a); EXPECT binmode() on unopened filehandle BLARG at - line 3. binmode() on unopened filehandle at - line 4. ######## # pp_sys.c [pp_lstat] use warnings 'io'; open FH, "../harness" or die "# $!"; lstat FH; lstat *FH; lstat \*FH; open my $fh, $0 or die "# $!"; lstat $fh; lstat *FH{IO}; no warnings 'io'; lstat FH; lstat $fh; close FH; close $fh; EXPECT lstat() on filehandle FH at - line 4. lstat() on filehandle FH at - line 5. lstat() on filehandle FH at - line 6. lstat() on filehandle $fh at - line 8. lstat() on filehandle at - line 9. ######## # pp_sys.c [pp_lstat] use warnings 'io'; use utf8; use open qw( :utf8 :std ); open ᶠḨ, "../harness" or die "# $!"; lstat ᶠḨ; open my $fᚺ, $0 or die "# $!"; lstat $fᚺ; no warnings 'io'; lstat ᶠḨ; lstat $fᚺ; close ᶠḨ; close $fᚺ; EXPECT lstat() on filehandle ᶠḨ at - line 7. lstat() on filehandle $fᚺ at - line 9. ######## # pp_sys.c [pp_getc] use warnings qw(unopened closed) ; getc FOO; close STDIN; getc STDIN; # Create an empty file $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; EXPECT getc() on unopened filehandle FOO at - line 3. getc() on closed filehandle STDIN at - line 5. getc() on closed filehandle FH2 at - line 12. ######## # pp_sys.c [pp_sselect] use warnings 'misc'; $x = 1; select $x, undef, undef, 1; sub TIESCALAR{bless[]} sub FETCH {"hello"} sub STORE{} tie $y, ""; select $y, undef, undef, 1; no warnings 'misc'; select $x, undef, undef, 1; EXPECT Non-string passed as bitmask at - line 4. ######## use Config; BEGIN { if (!$Config{d_fchdir}) { print <:raw", $file or die "# $!"; syswrite $fh, 'ABC'; binmode $fh, ':utf8'; syswrite $fh, 'ABC'; no warnings 'deprecated'; syswrite $fh, 'ABC'; close $fh; unlink $file; EXPECT syswrite() is deprecated on :utf8 handles. This will be a fatal error in Perl 5.30 at - line 5.