Code
$ cat test1
hello
i am
lazer
nananana
$ cat 1.pl
use strict;
use warnings;
my @fh;
open $fh[0], '<', 'test1', or die $!;
my @res1 = <$fh[0]>; # Way1: why does this not work as expected?
print @res1."
";
my $fh2 = $fh[0];
my @res2 = <$fh2>; # Way2: this works!
print @res2."
";
Run
$ perl 1.pl
1
5
$
I am not sure why Way1
does not work as expected while Way2
does. Aren't those two methods the same? What is happening here?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…