1256a93a4Safresh1Test no feature bareword_filehandles 2256a93a4Safresh1 3256a93a4Safresh1todo: 4256a93a4Safresh1 5256a93a4Safresh1print HANDLE 6256a93a4Safresh1print HANDLE LIST 7256a93a4Safresh1printf HANDLE 8256a93a4Safresh1printf HANDLE LIST 9256a93a4Safresh1say HANDLE 10256a93a4Safresh1say HANDLE LIST 11256a93a4Safresh1readline 12256a93a4Safresh1<> / <HANDLE> 13256a93a4Safresh1<<>> - has an implicit argument 14256a93a4Safresh1truncate 15256a93a4Safresh1stat 16256a93a4Safresh1-X 17256a93a4Safresh1lstat 18256a93a4Safresh1open 19256a93a4Safresh1close 20256a93a4Safresh1eof 21256a93a4Safresh1fileno 22256a93a4Safresh1flock 23256a93a4Safresh1getc 24256a93a4Safresh1read 25256a93a4Safresh1write ? 26256a93a4Safresh1seek 27256a93a4Safresh1tell 28256a93a4Safresh1select 29256a93a4Safresh1sysopen 30256a93a4Safresh1sysread 31256a93a4Safresh1syswrite 32256a93a4Safresh1sysseek 33256a93a4Safresh1pipe 34256a93a4Safresh1 35256a93a4Safresh1socket 36256a93a4Safresh1connect 37256a93a4Safresh1bind 38256a93a4Safresh1listen 39256a93a4Safresh1recv 40256a93a4Safresh1send 41256a93a4Safresh1setsockopt 42256a93a4Safresh1getsockopt 43256a93a4Safresh1shutdown 44256a93a4Safresh1socketpair 45256a93a4Safresh1accept 46256a93a4Safresh1getpeername 47256a93a4Safresh1getsockname 48256a93a4Safresh1 49256a93a4Safresh1binmode 50256a93a4Safresh1ioctl 51256a93a4Safresh1fcntl 52256a93a4Safresh1chmod - doesn't accept bareword handles 53256a93a4Safresh1chown - doesn't accept bareword handles 54256a93a4Safresh1 55256a93a4Safresh1opendir 56256a93a4Safresh1closedir 57256a93a4Safresh1readdir 58256a93a4Safresh1seekdir 59256a93a4Safresh1telldir 60256a93a4Safresh1rewinddir 61256a93a4Safresh1chdir 62256a93a4Safresh1 63256a93a4Safresh1also check 64256a93a4Safresh1 65256a93a4Safresh1sort 66256a93a4Safresh1map 67256a93a4Safresh1grep 68256a93a4Safresh1 69256a93a4Safresh1aren't modified 70256a93a4Safresh1 71256a93a4Safresh1 72256a93a4Safresh1__END__ 73256a93a4Safresh1# NAME defaults and explicitly on 74256a93a4Safresh1#!perl -c 75256a93a4Safresh1use File::Temp qw(tempfile); 76256a93a4Safresh1use Fcntl qw(SEEK_SET); 77256a93a4Safresh1use Socket; 78256a93a4Safresh1my ($fh, $name) = tempfile; 79256a93a4Safresh1open FOO, ">", File::Spec->devnull; 80256a93a4Safresh1print FOO; 81256a93a4Safresh1print FOO "Hello"; 82256a93a4Safresh1printf FOO "Hello"; 83256a93a4Safresh1seek FOO, 0, SEEK_SET; 84256a93a4Safresh1truncate FOO, 0; 85256a93a4Safresh1print FOO "Something read\n"; 86256a93a4Safresh1close FOO; 87256a93a4Safresh1<FOO>; 88256a93a4Safresh1{ 89256a93a4Safresh1 local *ARGV; 90256a93a4Safresh1 local *ARGVOUT; 91256a93a4Safresh1 @ARGV = $name; 92256a93a4Safresh1 <<>>; 93256a93a4Safresh1 <>; 94256a93a4Safresh1} 95256a93a4Safresh1pipe FH1, FH2; 96256a93a4Safresh1socketpair S1, S2, AF_UNIX, SOCK_STREAM, PF_UNSPEC; 97256a93a4Safresh1shutdown S1, 0; 98256a93a4Safresh1 99256a93a4Safresh1use feature "bareword_filehandles"; 100256a93a4Safresh1open FOO, ">", File::Spec->devnull; 101256a93a4Safresh1print FOO; 102256a93a4Safresh1print FOO "Hello"; 103256a93a4Safresh1printf FOO "Hello"; 104256a93a4Safresh1seek FOO, 0, SEEK_SET; 105256a93a4Safresh1truncate FOO, 0; 106256a93a4Safresh1print FOO "Something read\n"; 107256a93a4Safresh1close FOO; 108256a93a4Safresh1<FOO>; 109256a93a4Safresh1{ 110256a93a4Safresh1 local *ARGV; 111256a93a4Safresh1 local *ARGVOUT; 112256a93a4Safresh1 @ARGV = $name; 113256a93a4Safresh1 <<>>; 114256a93a4Safresh1 <>; 115256a93a4Safresh1} 116256a93a4Safresh1pipe FH3, FH4; 117256a93a4Safresh1socketpair S3, S4, AF_UNIX, SOCK_STREAM, PF_UNSPEC; 118256a93a4Safresh1shutdown S3, 0; 119256a93a4Safresh1 120256a93a4Safresh1EXPECT 121256a93a4Safresh1- syntax OK 122256a93a4Safresh1######## 123256a93a4Safresh1# NAME check atan2() with a handle doesn't trigger bareword filehandle errors 124256a93a4Safresh1no feature "bareword_filehandles", "indirect"; 125256a93a4Safresh1my $x = atan2(FOO 1, 2); 126256a93a4Safresh1# my original approach to this hooked newGVREF(), which the parsing for most LOPs (as with 127256a93a4Safresh1# atan2() above) could end up calling newGVREF(), producing an unexpected error message. 128256a93a4Safresh1EXPECT 129256a93a4Safresh1OPTIONS fatal 130f2a19305Safresh1Number found where operator expected (Do you need to predeclare "FOO"?) at - line 2, near "FOO 1" 131256a93a4Safresh1Missing comma after first argument to atan2 function at - line 2, near "2)" 132256a93a4Safresh1Execution of - aborted due to compilation errors. 133256a93a4Safresh1######## 134256a93a4Safresh1# NAME print HANDLE LIST, printf HANDLE LIST, print HANDLE, printf HANDLE 135256a93a4Safresh1use File::Spec; 136256a93a4Safresh1open FOO, ">", File::Spec->devnull or die $!; 137256a93a4Safresh1$_ = "abc"; 138256a93a4Safresh1print FOO "test\n"; 139256a93a4Safresh1printf FOO "test\n"; 140256a93a4Safresh1print FOO; 141256a93a4Safresh1printf FOO; 142256a93a4Safresh1no feature "bareword_filehandles"; 143256a93a4Safresh1print FOO "test2\n"; 144256a93a4Safresh1printf FOO "test2\n"; 145256a93a4Safresh1print FOO; 146256a93a4Safresh1printf FOO; 147256a93a4Safresh1print STDERR; 148256a93a4Safresh1print STDOUT; 149256a93a4Safresh1print ARGV; 150256a93a4Safresh1print ARGVOUT; 151256a93a4Safresh1print DATA; 152256a93a4Safresh1print STDIN; 153256a93a4Safresh1EXPECT 154256a93a4Safresh1OPTIONS fatal 155256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 9. 156256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 10. 157256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 11. 158256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 12. 159256a93a4Safresh1Execution of - aborted due to compilation errors. 160256a93a4Safresh1######## 161256a93a4Safresh1# NAME say HANDLE LIST, say HANDLE 162256a93a4Safresh1use File::Spec; 163256a93a4Safresh1use feature "say"; 164256a93a4Safresh1open FOO, ">", File::Spec->devnull or die $!; 165256a93a4Safresh1$_ = "abc"; 166256a93a4Safresh1say FOO "test\n"; 167256a93a4Safresh1say FOO; 168256a93a4Safresh1no feature "bareword_filehandles"; 169256a93a4Safresh1say FOO "test2\n"; 170256a93a4Safresh1say FOO; 171256a93a4Safresh1EXPECT 172256a93a4Safresh1OPTIONS fatal 173256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 8. 174256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 9. 175256a93a4Safresh1Execution of - aborted due to compilation errors. 176256a93a4Safresh1######## 177256a93a4Safresh1# NAME readline FOO, readline, <>, <FOO> 178256a93a4Safresh1use File::Spec; 179256a93a4Safresh1open FOO, "<", File::Spec->devnull or die $!; 180256a93a4Safresh1my $x = readline FOO; 181256a93a4Safresh1$x .= readline FOO; # rcatline 182256a93a4Safresh1$x = readline(FOO); # parsed a little differently with () 183256a93a4Safresh1$x .= readline(FOO); 184256a93a4Safresh1$x = <FOO>; 185256a93a4Safresh1$x .= <FOO>; 186256a93a4Safresh1no feature "bareword_filehandles"; 187256a93a4Safresh1$x = readline FOO; 188256a93a4Safresh1$x .= readline FOO; # rcatline 189256a93a4Safresh1$x = readline(FOO); # parsed a little differently with () 190256a93a4Safresh1$x .= readline(FOO); 191256a93a4Safresh1$x = <FOO>; 192256a93a4Safresh1$x .= <FOO>; 193256a93a4Safresh1$x = readline STDIN; 194256a93a4Safresh1$x = <STDIN>; 195256a93a4Safresh1EXPECT 196256a93a4Safresh1OPTIONS fatal 197256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 10. 198256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 11. 199256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 12. 200256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 13. 201256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 14. 202256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 15. 203256a93a4Safresh1Execution of - aborted due to compilation errors. 204256a93a4Safresh1######## 205256a93a4Safresh1# NAME truncate 206256a93a4Safresh1use strict; 207256a93a4Safresh1use warnings; 208256a93a4Safresh1# if all goes well this doesn't run anyway 209256a93a4Safresh1my $name = "bare$$.tmp"; 210256a93a4Safresh1END { unlink $name if $name; } 211256a93a4Safresh1open FOO, ">", $name or die; 212256a93a4Safresh1print FOO "Non-zero length data\n"; 213256a93a4Safresh1truncate FOO, 2; 214256a93a4Safresh1no feature "bareword_filehandles"; 215256a93a4Safresh1truncate FOO, 1; 216256a93a4Safresh1EXPECT 217256a93a4Safresh1OPTIONS fatal 218256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 10. 219256a93a4Safresh1Execution of - aborted due to compilation errors. 220256a93a4Safresh1######## 221256a93a4Safresh1# NAME stat, lstat, -X 222256a93a4Safresh1use File::Spec; 223256a93a4Safresh1open FOO, "<", File::Spec->devnull; 224256a93a4Safresh1my @x = stat FOO; 225256a93a4Safresh1@x = lstat FOO; 226256a93a4Safresh1my $x = -s FOO; 227256a93a4Safresh1no feature "bareword_filehandles"; 228256a93a4Safresh1@x = stat FOO; 229256a93a4Safresh1@x = lstat FOO; 230256a93a4Safresh1$x = -s FOO; 231256a93a4Safresh1EXPECT 232256a93a4Safresh1OPTIONS fatal 233256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 7. 234256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 8. 235256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 9. 236256a93a4Safresh1Execution of - aborted due to compilation errors. 237256a93a4Safresh1######## 238256a93a4Safresh1# NAME open, close, eof, fileno 239256a93a4Safresh1use File::Spec; 240256a93a4Safresh1open FOO, "<", File::Spec->devnull; 241256a93a4Safresh1my $x = eof FOO; 242256a93a4Safresh1$x = fileno FOO; 243256a93a4Safresh1close FOO; 244256a93a4Safresh1no feature "bareword_filehandles"; 245256a93a4Safresh1open FOO, "<", File::Spec->devnull; 246256a93a4Safresh1$x = eof FOO; 247256a93a4Safresh1$x = fileno FOO; 248256a93a4Safresh1close FOO; 249256a93a4Safresh1EXPECT 250256a93a4Safresh1OPTIONS fatal 251256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 7. 252256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 8. 253256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 9. 254256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 10. 255256a93a4Safresh1Execution of - aborted due to compilation errors. 256256a93a4Safresh1######## 257256a93a4Safresh1# NAME flock 258256a93a4Safresh1use Fcntl ":flock"; 259256a93a4Safresh1open FOO, "<", $0 or die; 260256a93a4Safresh1flock FOO, LOCK_SH; 261256a93a4Safresh1no feature "bareword_filehandles"; 262256a93a4Safresh1flock FOO, LOCK_UN; 263256a93a4Safresh1EXPECT 264256a93a4Safresh1OPTIONS fatal 265256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 5. 266256a93a4Safresh1Execution of - aborted due to compilation errors. 267256a93a4Safresh1######## 268256a93a4Safresh1# NAME getc, read, seek, tell 269256a93a4Safresh1open FOO, "<", $0 or die; 270256a93a4Safresh1my $x = getc FOO; 271256a93a4Safresh1read(FOO, $x, 1); 272256a93a4Safresh1$x = tell FOO; 273256a93a4Safresh1seek FOO, 0, 0; 274256a93a4Safresh1no feature "bareword_filehandles"; 275256a93a4Safresh1$x = getc FOO; 276256a93a4Safresh1read(FOO, $x, 1); 277256a93a4Safresh1$x = tell FOO; 278256a93a4Safresh1seek FOO, 0, 0; 279256a93a4Safresh1EXPECT 280256a93a4Safresh1OPTIONS fatal 281256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 7. 282256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 8. 283256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 9. 284256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 10. 285256a93a4Safresh1Execution of - aborted due to compilation errors. 286256a93a4Safresh1######## 287256a93a4Safresh1# NAME select 288256a93a4Safresh1open FOO, "<", $0 or die; 289256a93a4Safresh1my $old = select FOO; 290256a93a4Safresh1no feature "bareword_filehandles"; 291256a93a4Safresh1select FOO; 292256a93a4Safresh1select $old; 293256a93a4Safresh1EXPECT 294256a93a4Safresh1OPTIONS fatal 295256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 4. 296256a93a4Safresh1Execution of - aborted due to compilation errors. 297256a93a4Safresh1######## 298256a93a4Safresh1# NAME sysopen, sysread, syswrite, sysseek 299256a93a4Safresh1use Fcntl; 300256a93a4Safresh1use File::Spec; 301256a93a4Safresh1sysopen FOO, File::Spec->devnull, O_RDWR or die; 302256a93a4Safresh1sysread FOO, my $x, 10; 303256a93a4Safresh1syswrite FOO, "Test"; 304256a93a4Safresh1my $y = sysseek FOO, 0, SEEK_CUR; 305256a93a4Safresh1close FOO; 306256a93a4Safresh1no feature "bareword_filehandles"; 307256a93a4Safresh1sysopen FOO, File::Spec->devnull, O_RDWR or die; 308256a93a4Safresh1sysread FOO, my $x, 10; 309256a93a4Safresh1syswrite FOO, "Test"; 310256a93a4Safresh1my $y = sysseek FOO, 0, SEEK_CUR; 311256a93a4Safresh1EXPECT 312256a93a4Safresh1OPTIONS fatal 313256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 9. 314256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 10. 315256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 11. 316256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 12. 317256a93a4Safresh1Execution of - aborted due to compilation errors. 318256a93a4Safresh1######## 319256a93a4Safresh1# NAME pipe 320256a93a4Safresh1my $fh; 321256a93a4Safresh1pipe IN, $fh; 322256a93a4Safresh1pipe $fh, OUT; 323256a93a4Safresh1pipe IN, OUT; 324256a93a4Safresh1no feature "bareword_filehandles"; 325256a93a4Safresh1pipe IN, $fh; 326256a93a4Safresh1pipe $fh, OUT; 327256a93a4Safresh1pipe IN, OUT; 328256a93a4Safresh1EXPECT 329256a93a4Safresh1OPTIONS fatal 330256a93a4Safresh1Bareword filehandle "IN" not allowed under 'no feature "bareword_filehandles"' at - line 6. 331256a93a4Safresh1Bareword filehandle "OUT" not allowed under 'no feature "bareword_filehandles"' at - line 7. 332256a93a4Safresh1Bareword filehandle "IN" not allowed under 'no feature "bareword_filehandles"' at - line 8. 333256a93a4Safresh1Bareword filehandle "OUT" not allowed under 'no feature "bareword_filehandles"' at - line 8. 334256a93a4Safresh1Execution of - aborted due to compilation errors. 335256a93a4Safresh1######## 336256a93a4Safresh1# NAME socket, connect, bind, listen 337256a93a4Safresh1my $fh; 338256a93a4Safresh1# this won't run, just use dummy values for domain, type, protocol 339256a93a4Safresh1socket(FOO, 0, 0,0); 340256a93a4Safresh1connect(FOO, "abc"); 341256a93a4Safresh1bind(FOO, "abc"); 342256a93a4Safresh1listen(FOO, 5); 343256a93a4Safresh1no feature "bareword_filehandles"; 344256a93a4Safresh1socket(FOO, 0, 0,0); 345256a93a4Safresh1connect(FOO, "abc"); 346256a93a4Safresh1bind(FOO, "abc"); 347256a93a4Safresh1listen(FOO, 5); 348256a93a4Safresh1EXPECT 349256a93a4Safresh1OPTIONS fatal 350256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 8. 351256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 9. 352256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 10. 353256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 11. 354256a93a4Safresh1Execution of - aborted due to compilation errors. 355256a93a4Safresh1######## 356256a93a4Safresh1# NAME accept 357256a93a4Safresh1accept(FOO, CHILD); 358256a93a4Safresh1accept($fh, CHILD); 359256a93a4Safresh1accept(FOO, $fh); 360256a93a4Safresh1no feature "bareword_filehandles"; 361256a93a4Safresh1accept(FOO, CHILD); 362256a93a4Safresh1accept($fh, CHILD); 363256a93a4Safresh1accept(FOO, $fh); 364f2a19305Safresh1accept(*FOO, *CHILD); 365f2a19305Safresh1EXPECT 366f2a19305Safresh1OPTIONS fatal 367f2a19305Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 5. 368f2a19305Safresh1Bareword filehandle "CHILD" not allowed under 'no feature "bareword_filehandles"' at - line 5. 369f2a19305Safresh1Bareword filehandle "CHILD" not allowed under 'no feature "bareword_filehandles"' at - line 6. 370f2a19305Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 7. 371f2a19305Safresh1Execution of - aborted due to compilation errors. 372f2a19305Safresh1######## 373f2a19305Safresh1# NAME accept some more 374f2a19305Safresh1accept FOO, CHILD ; 375f2a19305Safresh1accept $fh, CHILD ; 376f2a19305Safresh1accept FOO, $fh ; 377f2a19305Safresh1no feature "bareword_filehandles"; 378f2a19305Safresh1accept FOO, CHILD ; 379f2a19305Safresh1accept $fh, CHILD ; 380f2a19305Safresh1accept FOO, $fh; 381f2a19305Safresh1package BAR {} 382f2a19305Safresh1accept QUUX BAR, $fh; 383f2a19305Safresh1sub BAR::QUUX { $fh } 384256a93a4Safresh1EXPECT 385256a93a4Safresh1OPTIONS fatal 386256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 5. 387256a93a4Safresh1Bareword filehandle "CHILD" not allowed under 'no feature "bareword_filehandles"' at - line 5. 388256a93a4Safresh1Bareword filehandle "CHILD" not allowed under 'no feature "bareword_filehandles"' at - line 6. 389256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 7. 390256a93a4Safresh1Execution of - aborted due to compilation errors. 391256a93a4Safresh1######## 392256a93a4Safresh1# NAME send, recv, setsockopt, getsockopt 393256a93a4Safresh1send FOO, "abc", 0; 394256a93a4Safresh1recv FOO, my $x, 10, 0; 395256a93a4Safresh1setsockopt FOO, 0, 0, 0; 396256a93a4Safresh1my $y = getsockopt FOO, 0, 0; 397256a93a4Safresh1no feature "bareword_filehandles"; 398256a93a4Safresh1send FOO, "abc", 0; 399256a93a4Safresh1recv FOO, my $x, 10, 0; 400256a93a4Safresh1setsockopt FOO, 0, 0, 0; 401256a93a4Safresh1my $y = getsockopt FOO, 0, 0; 402256a93a4Safresh1EXPECT 403256a93a4Safresh1OPTIONS fatal 404256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 6. 405256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 7. 406256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 8. 407256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 9. 408256a93a4Safresh1Execution of - aborted due to compilation errors. 409256a93a4Safresh1######## 410256a93a4Safresh1# NAME shutdown, getsockname, getpeername 411256a93a4Safresh1shutdown FOO, 0; 412256a93a4Safresh1my $sockname = getsockname FOO; 413256a93a4Safresh1my $peername = getpeername FOO; 414256a93a4Safresh1no feature "bareword_filehandles"; 415256a93a4Safresh1shutdown FOO, 0; 416256a93a4Safresh1$sockname = getsockname FOO; 417256a93a4Safresh1$peername = getpeername FOO; 418256a93a4Safresh1EXPECT 419256a93a4Safresh1OPTIONS fatal 420256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 5. 421256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 6. 422256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 7. 423256a93a4Safresh1Execution of - aborted due to compilation errors. 424256a93a4Safresh1######## 425256a93a4Safresh1# NAME socketpair 426256a93a4Safresh1my $fh; 427256a93a4Safresh1socketpair IN, $fh, 0, 0, 0; 428256a93a4Safresh1socketpair $fh, OUT, 0, 0, 0; 429256a93a4Safresh1socketpair IN, OUT, 0, 0, 0; 430256a93a4Safresh1no feature "bareword_filehandles"; 431256a93a4Safresh1socketpair IN, $fh, 0, 0, 0; 432256a93a4Safresh1socketpair $fh, OUT, 0, 0, 0; 433256a93a4Safresh1socketpair IN, OUT, 0, 0, 0; 434256a93a4Safresh1EXPECT 435256a93a4Safresh1OPTIONS fatal 436256a93a4Safresh1Bareword filehandle "IN" not allowed under 'no feature "bareword_filehandles"' at - line 6. 437256a93a4Safresh1Bareword filehandle "OUT" not allowed under 'no feature "bareword_filehandles"' at - line 7. 438256a93a4Safresh1Bareword filehandle "IN" not allowed under 'no feature "bareword_filehandles"' at - line 8. 439256a93a4Safresh1Bareword filehandle "OUT" not allowed under 'no feature "bareword_filehandles"' at - line 8. 440256a93a4Safresh1Execution of - aborted due to compilation errors. 441256a93a4Safresh1######## 442256a93a4Safresh1# NAME binmode, ioctl, fcntl 443256a93a4Safresh1binmode FOO; 444256a93a4Safresh1binmode FOO, ":raw"; 445256a93a4Safresh1ioctl FOO, 0, 0; 446256a93a4Safresh1fcntl FOO, 0, 0; 447256a93a4Safresh1no feature "bareword_filehandles"; 448256a93a4Safresh1binmode FOO; 449256a93a4Safresh1binmode FOO, ":raw"; 450256a93a4Safresh1ioctl FOO, 0, 0; 451256a93a4Safresh1fcntl FOO, 0, 0; 452256a93a4Safresh1EXPECT 453256a93a4Safresh1OPTIONS fatal 454256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 6. 455256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 7. 456256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 8. 457256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 9. 458256a93a4Safresh1Execution of - aborted due to compilation errors. 459256a93a4Safresh1######## 460256a93a4Safresh1# NAME opendir, closedir, readdir 461256a93a4Safresh1opendir FOO, "."; 462256a93a4Safresh1my @x = readdir FOO; 463256a93a4Safresh1chdir FOO; 464256a93a4Safresh1closedir FOO; 465256a93a4Safresh1no feature "bareword_filehandles"; 466256a93a4Safresh1opendir FOO, "."; 467256a93a4Safresh1my @x = readdir FOO; 468256a93a4Safresh1chdir FOO; 469256a93a4Safresh1closedir FOO; 470256a93a4Safresh1EXPECT 471256a93a4Safresh1OPTIONS fatal 472256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 6. 473256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 7. 474256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 8. 475256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 9. 476256a93a4Safresh1Execution of - aborted due to compilation errors. 477256a93a4Safresh1######## 478256a93a4Safresh1# NAME seekdir, telldir, rewinddir 479256a93a4Safresh1use strict; 480256a93a4Safresh1my $x = telldir FOO; 481256a93a4Safresh1seekdir FOO, $x; 482256a93a4Safresh1rewinddir FOO; 483256a93a4Safresh1no feature "bareword_filehandles"; 484256a93a4Safresh1my $x = telldir FOO; 485256a93a4Safresh1seekdir FOO, $x; 486256a93a4Safresh1rewinddir FOO; 487256a93a4Safresh1EXPECT 488256a93a4Safresh1OPTIONS fatal 489256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 6. 490256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 7. 491256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 8. 492256a93a4Safresh1Execution of - aborted due to compilation errors. 493256a93a4Safresh1######## 494256a93a4Safresh1# NAME file tests 495256a93a4Safresh1-T FOO; 496256a93a4Safresh1-s FOO; 497256a93a4Safresh1no feature "bareword_filehandles"; 498256a93a4Safresh1-T FOO; 499256a93a4Safresh1-s FOO; 500256a93a4Safresh1-s _; 501256a93a4Safresh1EXPECT 502256a93a4Safresh1OPTIONS fatal 503256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 4. 504256a93a4Safresh1Bareword filehandle "FOO" not allowed under 'no feature "bareword_filehandles"' at - line 5. 505256a93a4Safresh1Execution of - aborted due to compilation errors. 506256a93a4Safresh1######## 507256a93a4Safresh1# NAME subroutine calls 508256a93a4Safresh1use feature "say"; 509256a93a4Safresh1no feature "bareword_filehandles"; 510256a93a4Safresh1sub foo {} 511256a93a4Safresh1print foo(); 512256a93a4Safresh1print foo; 513256a93a4Safresh1say foo(); 514256a93a4Safresh1say foo; 515256a93a4Safresh1-x foo(); 516256a93a4Safresh1-x foo; 517256a93a4Safresh1EXPECT 518f2a19305Safresh1######## 519f2a19305Safresh1# NAME method calls 520f2a19305Safresh1# https://github.com/Perl/perl5/issues/19704 521f2a19305Safresh1use feature "say"; 522f2a19305Safresh1no feature "bareword_filehandles"; 523f2a19305Safresh1sub foo {} 524f2a19305Safresh1print main->foo(); 525f2a19305Safresh1print main->foo; 526f2a19305Safresh1say main->foo(); 527f2a19305Safresh1say main->foo; 528f2a19305Safresh1-x main->foo(); 529f2a19305Safresh1-x main->foo; 530f2a19305Safresh1EXPECT 531*5486feefSafresh1######## 532*5486feefSafresh1# NAME bareword method calls resolving to bareword filehandles 533*5486feefSafresh1# https://github.com/Perl/perl5/issues/19426 534*5486feefSafresh1use feature "say"; 535*5486feefSafresh1my $x = "Foo"; 536*5486feefSafresh1*Foo = *STDOUT; # make Foo an IO 537*5486feefSafresh1sub Foo::say { 538*5486feefSafresh1 say ">", @_[1..$#_]; 539*5486feefSafresh1} 540*5486feefSafresh1Foo->say("Hello"); # calls IO::File->say() 541*5486feefSafresh1no feature "bareword_filehandles"; 542*5486feefSafresh1"Foo"->say("Alpha"); # calls IO::File::say(); 543*5486feefSafresh1$x->say("Beta"); # calls IO::File::say() 544*5486feefSafresh1Foo->say("Goodbye"); # calls Foo->say(), Foo now in stash cache 545*5486feefSafresh1"Foo"->say("Gamma"); # calls Foo->say() 546*5486feefSafresh1STDOUT->say("stdout"); # calls IO::File->say 547*5486feefSafresh1use feature "bareword_filehandles"; 548*5486feefSafresh1Foo->say("Delta"); # calls Foo->say() 549*5486feefSafresh1$x->say("Epsilon"); # calls Foo->say() 550*5486feefSafresh1EXPECT 551*5486feefSafresh1Hello 552*5486feefSafresh1Alpha 553*5486feefSafresh1Beta 554*5486feefSafresh1>Goodbye 555*5486feefSafresh1>Gamma 556*5486feefSafresh1stdout 557*5486feefSafresh1>Delta 558*5486feefSafresh1>Epsilon 559