如何从hash-perl打印文本文件的所有行

如何从hash-perl打印文本文件的所有行,perl,Perl,我正在读一个文本文件,其中有多行。我被分配了一项任务,使用哈希打印行 "\n" is the delimiter we can use. 以下是我尝试过并遇到的问题: 代码: 我无法理解散列中的密钥是什么。有人能帮我解决这个问题吗 你有 while (my $line =<$fh>) 然后从$line中的字符串中删除此单个\n 所以, my($key, $number) = split("\n", $line); 将$line复制到$key,并保留未定义的$number,因为$

我正在读一个文本文件,其中有多行。我被分配了一项任务,使用哈希打印行

"\n" is the delimiter we can use.
以下是我尝试过并遇到的问题:

代码:

我无法理解散列中的密钥是什么。有人能帮我解决这个问题吗

你有

while (my $line =<$fh>)
然后从$line中的字符串中删除此单个\n

所以,

my($key, $number) = split("\n", $line);
将$line复制到$key,并保留未定义的$number,因为$line中没有\n。即使您没有选择行,$number也不会包含任何有用的内容,因为根据定义,行终止符将位于行的末尾,并且由于它标记行的末尾,因此后面将没有任何内容

如果文件包含以下内容:

key1 value1 key2 value2
然后你就可以一次读一行了。

用散列法打印行是什么意思?你想解决什么问题?$count从何而来?请使用Data::Dumper dumperkeys%散列来查找它。我想关键是它自己的那一行,数字是空的。@choroba,谢谢你的回复。。使用哈希打印行意味着应该使用哈希打印输出。我希望我已经给出了答案。输入是什么?预期的输出是什么样子?@choroba输入将是文件中的每一行或每一行
my($key, $number) = split("\n", $line);
key1 value1 key2 value2