diff options
author | Nick Ing-Simmons <nik@tiuk.ti.com> | 2001-03-22 14:35:46 +0000 |
---|---|---|
committer | Nick Ing-Simmons <nik@tiuk.ti.com> | 2001-03-22 14:35:46 +0000 |
commit | e620cd7232b242c1500abd8a6a5b86efdf1c5c2b (patch) | |
tree | 62b27a249ce39c519adcc3c671e456ae3c92178a /t | |
parent | 1f852d0d1f9745d51afb4cb836d527bbbac0c64e (diff) | |
download | perl-e620cd7232b242c1500abd8a6a5b86efdf1c5c2b.tar.gz |
Give a meaning to '&' in n-arg open case:
open($fh,"<&",$scalar);
$scalar can be:
- an integer which does "fdopen"
open($fh,"<&",2); # like open($fh,"<&2")
- something that will yield a file handle via sv_2io()
useful for dup'ing anonymous handles.
e.g.:
open(my $fh,"<&",\*STDIN);
open(my $dup,"<&",$fh);
p4raw-id: //depot/perlio@9298
Diffstat (limited to 't')
-rwxr-xr-x | t/io/open.t | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/t/io/open.t b/t/io/open.t index 0e2d57cd75..1b54c33325 100755 --- a/t/io/open.t +++ b/t/io/open.t @@ -3,9 +3,9 @@ BEGIN { chdir 't' if -d 't'; @INC = '../lib'; -} +} -# $RCSfile$ +# $RCSfile$ $| = 1; use warnings; $Is_VMS = $^O eq 'VMS'; @@ -21,11 +21,11 @@ sub ok { print "ok $test\n"; $test++ } # 1..9 { - unlink("afile") if -f "afile"; + unlink("afile") if -f "afile"; print "$!\nnot " unless open(my $f,"+>afile"); ok; binmode $f; - print "not " unless -f "afile"; + print "not " unless -f "afile"; ok; print "not " unless print $f "SomeData\n"; ok; @@ -36,15 +36,15 @@ sub ok { print "ok $test\n"; $test++ } $b = <$f>; print "not " unless $b eq "SomeData\n"; ok; - print "not " unless -f $f; + print "not " unless -f $f; ok; - eval { die "Message" }; + eval { die "Message" }; # warn $@; print "not " unless $@ =~ /<\$f> line 1/; ok; print "not " unless close($f); ok; - unlink("afile"); + unlink("afile"); } # 10..12 @@ -96,7 +96,7 @@ sub ok { print "ok $test\n"; $test++ } print "not " unless -s 'afile' > 20; ok; - unlink("afile"); + unlink("afile"); } # 24..26 @@ -138,18 +138,18 @@ open my $f, '<&', 'afile'; 1; EOE ok; -$@ =~ /Unknown open\(\) mode \'<&\'/ or print "not "; +$@ =~ /Bad filehandle:\s+afile/ or print "not ($@)"; ok; # local $file tests # 33..41 { - unlink("afile") if -f "afile"; + unlink("afile") if -f "afile"; print "$!\nnot " unless open(local $f,"+>afile"); ok; binmode $f; - print "not " unless -f "afile"; + print "not " unless -f "afile"; ok; print "not " unless print $f "SomeData\n"; ok; @@ -160,15 +160,15 @@ ok; $b = <$f>; print "not " unless $b eq "SomeData\n"; ok; - print "not " unless -f $f; + print "not " unless -f $f; ok; - eval { die "Message" }; + eval { die "Message" }; # warn $@; print "not " unless $@ =~ /<\$f> line 1/; ok; print "not " unless close($f); ok; - unlink("afile"); + unlink("afile"); } # 42..44 @@ -220,7 +220,7 @@ ok; print "not " unless -s 'afile' > 20; ok; - unlink("afile"); + unlink("afile"); } # 56..58 @@ -262,7 +262,7 @@ open local $f, '<&', 'afile'; 1; EOE ok; -$@ =~ /Unknown open\(\) mode \'<&\'/ or print "not "; +$@ =~ /Bad filehandle:\s+afile/ or print "not ($@) "; ok; # 65..66 |