【发布时间】:2014-04-19 21:54:44
【问题描述】:
我有一个这样的文件
key1 value1
key2 value2
key3 value3
等等
我想通过在空白处分割每一行来创建一个散列。我试过这样
while (<FILE>) {
chomp;
my ($key, $val) = split / /;
$hash{$key} .= exists $hash{$key} ? ",$val" : $val;
}
这给出了输出
key1 => value1, key2
其余行被忽略。
当我检查逐行阅读是否有效时,它没有。
它不会逐行读取,而是 while 循环只循环一次所有数据。
为什么要这样做?
【问题讨论】:
-
@user3353408:如果你想将
$_拆分为任意空格组合,那么你需要split的默认行为,所以my ($key, $val) = split;可能更好
标签: perl hash while-loop split