FatalError верный, вам нужен оператор readline. Вы можете прочитать больше о <>
в perldoc perlop
и больше о функции readline
в perldoc -f readline
.
Получив эти знания, вы поймете, почему следующее также может работать (хотя, возможно, не рекомендуется для удобства чтения). Также я буду использовать Data::Dumper
, чтобы напечатать лучшее представление @cArray
.
#!/usr/bin/env perl
use strict;
use warnings;
use Data::Dumper;
@ARGV = qw( /home/usr1/test.list );
# or remove previous line and call script as
# script.pl /home/usr1/test.list
my @cArray = <>;
print Dumper \@cArray;
Некоторые дополнительные примечания: более современная версия вашей информации:
- используйте форму с тремя аргументами
open
- проверка успешности открытия
- используйте лексическую, а не голую ручку
use strict
, а также use warnings
(вместо -w
)
1036 * дает *
#!/usr/bin/env perl
use strict;
use warnings;
my $file1 = '/home/usr1/test.list';
open(my $handle, '<', $file1)
or die "Could not open $file1: $!";
my @cArray = <$handle>;
print @cArray;