Código¿Por qué no puedo usar el operador de diamante con una matriz en Perl?
$ 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."\n";
my $fh2 = $fh[0];
my @res2 = <$fh2>; # Way2: this works!
print @res2."\n";
Run
$ perl 1.pl
1
5
$
No estoy seguro de por qué Way1
no funciona como se esperaba, mientras que Way2
hace. ¿No son esos dos métodos lo mismo? ¿Que está sucediendo aquí?
impresión 'perl -le' para < < <=>>> '' – tchrist
@tchrist: ¿Algún otro punto aparte de ser un ejemplo divertido de glob? – runrig
No, ese * fue * el punto. :) – tchrist