【发布时间】:2013-11-13 18:45:41
【问题描述】:
我试图简单地弹出每个数值并将它们加在一起以获得总数。
输入文件:
Samsung 46
RIM 16
Apple 87
Microsoft 30
我的代码可以编译,但是它只返回 0:
open (UNITS, 'units.txt') || die "Can't open it $!";
my @lines = <UNITS>;
my $total = 0;
while (<UNITS>) {
chomp;
my $line = pop @lines;
$line += $total;
}
print $total;
【问题讨论】:
-
my @lines = <UNITS>;读取文件的所有行,没有留给while (<UNITS>)读取。然后是pop @lines没有意义的问题。您需要一行的最后一个字段,而不是最后一行。 -
你可能是想说 while(@lines),但 pop @lines 会返回整行,计算结果为 0,因此你将在 $total 中添加 0。您需要为该数字解析每一行
-
@Davs:您应该将其作为答案提出