【发布时间】:2011-11-07 03:53:05
【问题描述】:
我正在尝试学习 perl 编程并使用它来读取比赛中的文件;
#!/usr/local/bin/perl
use warnings;
open(FILE, <~/source/test.txt>);
@array = <FILE>;
$number = shift @array;
while($number--) {
chomp($key = shift @array);
chomp($message = shift @array);
print "Key: $key";
print "Message: $message";
}
print "\n";
close(FILE);
该文件包含一个数字 N,然后是 2 * N 行,其后是有多少键/消息对。
但是当我执行这个程序时,它只打印出最后一条“消息”而没有其他任何内容......它不会打印任何其他内容。如果我删除 chomps 它会按预期工作,但有了 chomps 那里它只会切断一切......有什么想法吗?
//编辑:去掉-w
【问题讨论】:
-
您的第一行应该是文件中的行数,并且每个键和消息都必须在新行中
-
你应该使用严格的。 Why use strict and warnings?
-
-w与use warnings;或多或少是多余的。-w也为任何模块启用警告,这在当今被认为是一个坏主意(因为某些较旧的模块在启用警告的情况下可能无法正常工作)。建议:使用use stricts; use warnings;,去掉-w。 -
@run,我没有创建比赛...他们是这样描述的,第一行是密钥/消息对的数量。
标签: perl