1 pp_sys.c AOK 2 3 untie attempted while %d inner references still exist [pp_untie] 4 sub TIESCALAR { bless [] } ; tie $a, 'main'; untie $a ; 5 6 fileno() on unopened filehandle abc [pp_fileno] 7 $a = "abc"; fileno($a) 8 9 binmode() on unopened filehandle abc [pp_binmode] 10 $a = "abc"; fileno($a) 11 12 printf() on unopened filehandle abc [pp_prtf] 13 $a = "abc"; printf $a "fred" 14 15 Filehandle %s opened only for input [pp_leavewrite] 16 format STDIN = 17 . 18 write STDIN; 19 20 write() on closed filehandle %s [pp_leavewrite] 21 format STDIN = 22 . 23 close STDIN; 24 write STDIN ; 25 26 page overflow [pp_leavewrite] 27 28 printf() on unopened filehandle abc [pp_prtf] 29 $a = "abc"; printf $a "fred" 30 31 Filehandle %s opened only for input [pp_prtf] 32 $a = "abc"; 33 printf $a "fred" 34 35 printf() on closed filehandle %s [pp_prtf] 36 close STDIN ; 37 printf STDIN "fred" 38 39 syswrite() on closed filehandle %s [pp_send] 40 close STDIN; 41 syswrite STDIN, "fred", 1; 42 43 send() on closed socket %s [pp_send] 44 close STDIN; 45 send STDIN, "fred", 1 46 47 bind() on closed socket %s [pp_bind] 48 close STDIN; 49 bind STDIN, "fred" ; 50 51 52 connect() on closed socket %s [pp_connect] 53 close STDIN; 54 connect STDIN, "fred" ; 55 56 listen() on closed socket %s [pp_listen] 57 close STDIN; 58 listen STDIN, 2; 59 60 accept() on closed socket %s [pp_accept] 61 close STDIN; 62 accept "fred", STDIN ; 63 64 shutdown() on closed socket %s [pp_shutdown] 65 close STDIN; 66 shutdown STDIN, 0; 67 68 setsockopt() on closed socket %s [pp_ssockopt] 69 getsockopt() on closed socket %s [pp_ssockopt] 70 close STDIN; 71 setsockopt STDIN, 1,2,3; 72 getsockopt STDIN, 1,2; 73 74 getsockname() on closed socket %s [pp_getpeername] 75 getpeername() on closed socket %s [pp_getpeername] 76 close STDIN; 77 getsockname STDIN; 78 getpeername STDIN; 79 80 flock() on closed socket %s [pp_flock] 81 flock() on closed socket [pp_flock] 82 close STDIN; 83 flock STDIN, 8; 84 flock $a, 8; 85 86 warn(warn_nl, "stat"); [pp_stat] 87 88 -T on closed filehandle %s 89 stat() on closed filehandle %s 90 close STDIN ; -T STDIN ; stat(STDIN) ; 91 92 warn(warn_nl, "open"); [pp_fttext] 93 -T "abc\ndef" ; 94 95 Filehandle %s opened only for output [pp_sysread] 96 my $file = "./xcv" ; 97 open(F, ">$file") ; 98 my $a = sysread(F, $a,10) ; 99 100 lstat on filehandle %s [pp_lstat] 101 102 getc() on unopened filehandle [pp_getc] 103 104 getc() on closed filehandle [pp_getc] 105 106__END__ 107# pp_sys.c [pp_untie] 108use warnings 'untie' ; 109sub TIESCALAR { bless [] } ; 110$b = tie $a, 'main'; 111untie $a ; 112no warnings 'untie' ; 113$c = tie $d, 'main'; 114untie $d ; 115EXPECT 116untie attempted while 1 inner references still exist at - line 5. 117######## 118# pp_sys.c [pp_leavewrite] 119use warnings 'io' ; 120format STDIN = 121. 122write STDIN; 123no warnings 'io' ; 124write STDIN; 125EXPECT 126Filehandle STDIN opened only for input at - line 5. 127######## 128# pp_sys.c [pp_leavewrite] 129use warnings 'closed' ; 130format STDIN = 131. 132close STDIN; 133write STDIN; 134opendir STDIN, "."; 135write STDIN; 136closedir STDIN; 137no warnings 'closed' ; 138write STDIN; 139opendir STDIN, "."; 140write STDIN; 141EXPECT 142write() on closed filehandle STDIN at - line 6. 143write() on closed filehandle STDIN at - line 8. 144 (Are you trying to call write() on dirhandle STDIN?) 145######## 146# pp_sys.c [pp_leavewrite] 147use warnings 'io' ; 148format STDOUT_TOP = 149abc 150. 151format STDOUT = 152def 153ghi 154. 155$= = 1 ; 156$- =1 ; 157open STDOUT, ">".($^O eq 'VMS'? 'NL:' : '/dev/null') ; 158write ; 159no warnings 'io' ; 160write ; 161EXPECT 162page overflow at - line 13. 163######## 164# pp_sys.c [pp_prtf] 165use warnings 'unopened' ; 166$a = "abc"; 167printf $a "fred"; 168no warnings 'unopened' ; 169printf $a "fred"; 170EXPECT 171printf() on unopened filehandle abc at - line 4. 172######## 173# pp_sys.c [pp_prtf] 174use warnings 'closed' ; 175close STDIN ; 176printf STDIN "fred"; 177opendir STDIN, "."; 178printf STDIN "fred"; 179closedir STDIN; 180no warnings 'closed' ; 181printf STDIN "fred"; 182opendir STDIN, "."; 183printf STDIN "fred"; 184EXPECT 185printf() on closed filehandle STDIN at - line 4. 186printf() on closed filehandle STDIN at - line 6. 187 (Are you trying to call printf() on dirhandle STDIN?) 188######## 189# pp_sys.c [pp_prtf] 190use warnings 'io' ; 191printf STDIN "fred"; 192no warnings 'io' ; 193printf STDIN "fred"; 194EXPECT 195Filehandle STDIN opened only for input at - line 3. 196######## 197# pp_sys.c [pp_send] 198use warnings 'closed' ; 199close STDIN; 200syswrite STDIN, "fred", 1; 201opendir STDIN, "."; 202syswrite STDIN, "fred", 1; 203closedir STDIN; 204no warnings 'closed' ; 205syswrite STDIN, "fred", 1; 206opendir STDIN, "."; 207syswrite STDIN, "fred", 1; 208EXPECT 209syswrite() on closed filehandle STDIN at - line 4. 210syswrite() on closed filehandle STDIN at - line 6. 211 (Are you trying to call syswrite() on dirhandle STDIN?) 212######## 213# pp_sys.c [pp_flock] 214use Config; 215BEGIN { 216 if ( !$Config{d_flock} && 217 !$Config{d_fcntl_can_lock} && 218 !$Config{d_lockf} ) { 219 print <<EOM ; 220SKIPPED 221# flock not present 222EOM 223 exit ; 224 } 225} 226use warnings qw(unopened closed); 227close STDIN; 228flock STDIN, 8; 229opendir STDIN, "."; 230flock STDIN, 8; 231flock FOO, 8; 232flock $a, 8; 233no warnings qw(unopened closed); 234flock STDIN, 8; 235opendir STDIN, "."; 236flock STDIN, 8; 237flock FOO, 8; 238flock $a, 8; 239EXPECT 240flock() on closed filehandle STDIN at - line 16. 241flock() on closed filehandle STDIN at - line 18. 242 (Are you trying to call flock() on dirhandle STDIN?) 243flock() on unopened filehandle FOO at - line 19. 244flock() on unopened filehandle at - line 20. 245######## 246# pp_sys.c [pp_prtf pp_send pp_bind pp_connect pp_listen pp_accept pp_shutdown pp_ssockopt ppp_getpeername] 247use warnings 'io' ; 248use Config; 249BEGIN { 250 if ( $^O ne 'VMS' and ! $Config{d_socket}) { 251 print <<EOM ; 252SKIPPED 253# send not present 254# bind not present 255# connect not present 256# accept not present 257# shutdown not present 258# setsockopt not present 259# getsockopt not present 260# getsockname not present 261# getpeername not present 262EOM 263 exit ; 264 } 265} 266close STDIN; 267send STDIN, "fred", 1; 268bind STDIN, "fred" ; 269connect STDIN, "fred" ; 270listen STDIN, 2; 271accept "fred", STDIN; 272shutdown STDIN, 0; 273setsockopt STDIN, 1,2,3; 274getsockopt STDIN, 1,2; 275getsockname STDIN; 276getpeername STDIN; 277opendir STDIN, "."; 278send STDIN, "fred", 1; 279bind STDIN, "fred" ; 280connect STDIN, "fred" ; 281listen STDIN, 2; 282accept "fred", STDIN; 283shutdown STDIN, 0; 284setsockopt STDIN, 1,2,3; 285getsockopt STDIN, 1,2; 286getsockname STDIN; 287getpeername STDIN; 288closedir STDIN; 289no warnings 'io' ; 290send STDIN, "fred", 1; 291bind STDIN, "fred" ; 292connect STDIN, "fred" ; 293listen STDIN, 2; 294accept STDIN, "fred" ; 295shutdown STDIN, 0; 296setsockopt STDIN, 1,2,3; 297getsockopt STDIN, 1,2; 298getsockname STDIN; 299getpeername STDIN; 300opendir STDIN, "."; 301send STDIN, "fred", 1; 302bind STDIN, "fred" ; 303connect STDIN, "fred" ; 304listen STDIN, 2; 305accept "fred", STDIN; 306shutdown STDIN, 0; 307setsockopt STDIN, 1,2,3; 308getsockopt STDIN, 1,2; 309getsockname STDIN; 310getpeername STDIN; 311EXPECT 312send() on closed socket STDIN at - line 22. 313bind() on closed socket STDIN at - line 23. 314connect() on closed socket STDIN at - line 24. 315listen() on closed socket STDIN at - line 25. 316accept() on closed socket STDIN at - line 26. 317shutdown() on closed socket STDIN at - line 27. 318setsockopt() on closed socket STDIN at - line 28. 319getsockopt() on closed socket STDIN at - line 29. 320getsockname() on closed socket STDIN at - line 30. 321getpeername() on closed socket STDIN at - line 31. 322send() on closed socket STDIN at - line 33. 323 (Are you trying to call send() on dirhandle STDIN?) 324bind() on closed socket STDIN at - line 34. 325 (Are you trying to call bind() on dirhandle STDIN?) 326connect() on closed socket STDIN at - line 35. 327 (Are you trying to call connect() on dirhandle STDIN?) 328listen() on closed socket STDIN at - line 36. 329 (Are you trying to call listen() on dirhandle STDIN?) 330accept() on closed socket STDIN at - line 37. 331 (Are you trying to call accept() on dirhandle STDIN?) 332shutdown() on closed socket STDIN at - line 38. 333 (Are you trying to call shutdown() on dirhandle STDIN?) 334setsockopt() on closed socket STDIN at - line 39. 335 (Are you trying to call setsockopt() on dirhandle STDIN?) 336getsockopt() on closed socket STDIN at - line 40. 337 (Are you trying to call getsockopt() on dirhandle STDIN?) 338getsockname() on closed socket STDIN at - line 41. 339 (Are you trying to call getsockname() on dirhandle STDIN?) 340getpeername() on closed socket STDIN at - line 42. 341 (Are you trying to call getpeername() on dirhandle STDIN?) 342######## 343# pp_sys.c [pp_stat] 344use warnings 'newline' ; 345stat "abc\ndef"; 346no warnings 'newline' ; 347stat "abc\ndef"; 348EXPECT 349Unsuccessful stat on filename containing newline at - line 3. 350######## 351# pp_sys.c [pp_fttext] 352use warnings qw(unopened closed) ; 353close STDIN ; 354-T STDIN ; 355stat(STDIN) ; 356-T HOCUS; 357stat(POCUS); 358no warnings qw(unopened closed) ; 359-T STDIN ; 360stat(STDIN); 361-T HOCUS; 362stat(POCUS); 363EXPECT 364-T on closed filehandle STDIN at - line 4. 365stat() on closed filehandle STDIN at - line 5. 366-T on unopened filehandle HOCUS at - line 6. 367stat() on unopened filehandle POCUS at - line 7. 368######## 369# pp_sys.c [pp_fttext] 370use warnings 'newline' ; 371-T "abc\ndef" ; 372no warnings 'newline' ; 373-T "abc\ndef" ; 374EXPECT 375Unsuccessful open on filename containing newline at - line 3. 376######## 377# pp_sys.c [pp_sysread] 378use warnings 'io' ; 379if ($^O eq 'dos') { 380 print <<EOM ; 381SKIPPED 382# skipped on dos 383EOM 384 exit ; 385} 386my $file = "./xcv" ; 387open(F, ">$file") ; 388my $a = sysread(F, $a,10) ; 389no warnings 'io' ; 390my $a = sysread(F, $a,10) ; 391close F ; 392use warnings 'io' ; 393sysread(F, $a, 10); 394read(F, $a, 10); 395sysread(NONEXISTENT, $a, 10); 396read(NONEXISTENT, $a, 10); 397unlink $file ; 398EXPECT 399Filehandle F opened only for output at - line 12. 400sysread() on closed filehandle F at - line 17. 401read() on closed filehandle F at - line 18. 402sysread() on unopened filehandle NONEXISTENT at - line 19. 403read() on unopened filehandle NONEXISTENT at - line 20. 404######## 405# pp_sys.c [pp_binmode] 406use warnings 'unopened' ; 407binmode(BLARG); 408$a = "BLERG";binmode($a); 409EXPECT 410binmode() on unopened filehandle BLARG at - line 3. 411binmode() on unopened filehandle at - line 4. 412######## 413# pp_sys.c [pp_lstat] 414use warnings 'io'; 415open FH, "harness" or die "# $!"; 416lstat FH; 417open my $fh, $0 or die "# $!"; 418lstat $fh; 419no warnings 'io'; 420lstat FH; 421lstat $fh; 422close FH; 423close $fh; 424EXPECT 425lstat() on filehandle FH at - line 4. 426lstat() on filehandle $fh at - line 6. 427######## 428# pp_sys.c [pp_getc] 429use warnings qw(unopened closed) ; 430getc FOO; 431close STDIN; 432getc STDIN; 433# Create an empty file 434$file = 'getcwarn.tmp'; 435open FH1, ">$file" or die "# $!"; close FH1; 436open FH2, $file or die "# $!"; 437getc FH2; # Should not warn at EOF 438close FH2; 439getc FH2; # Warns, now 440unlink $file; 441no warnings qw(unopened closed) ; 442getc FOO; 443getc STDIN; 444getc FH2; 445EXPECT 446getc() on unopened filehandle FOO at - line 3. 447getc() on closed filehandle STDIN at - line 5. 448getc() on closed filehandle FH2 at - line 12. 449