Perl在这种情况下并不完全符合您的要求。你需要明确告诉Perl如何打印出你的数组。
试试这个:
use Data::Dumper;
print Dumper($array[0]);
或者这样:
foreach my $element (@{ $array[0] }) {
print $element, "\n";
}
或者这样:
print join ' ', @{ $array[0] };
print "\n";
这是你的示例代码,重新编写了一下做更多的错误检查,并打开strict和warnings。当这些功能打开时,Perl将执行更多检查并将您限制为更安全的语言子集。
#!/usr/bin/perl
use strict;
use warnings;
my @arrays;
my $fn = 'summary.txt';
open FILE, "<$fn" or die "Error opening file ($!)";
while(my $line = <FILE>) {
chomp $line;
my @data = split ' ', $line;
push @arrays, \@data;
}
close FILE or die $!;
# print out comma-separated arrays, one per line
foreach my $array (@arrays) {
print join ",", @$array;
print "\n";
}
@Vlad:不是真正的*数组*,而是**引用数组**。另外,你的榜单很可能是错误的。 – 2010-03-02 01:15:53
shebang系列原文是这样写的。 – 2010-03-02 01:19:22
还是错的。 * nix中的完整路径以“/”开头,因此shebang是'#!/ usr/bin/perl' – ghostdog74 2010-03-02 01:29:38