【发布时间】:2015-07-06 09:51:12
【问题描述】:
我正在努力理解 Perl 中哈希背后的逻辑。任务是将文件加载到散列中并将值分配给使用此文件创建的键。
文件包含字母,每个字母占一行:
a
b
c
d
e
等等。 当使用 array 而不是 hash 时,逻辑很简单:将文件加载到数组中,然后使用某个计数器 ($counter++) 打印具有相应数字的每个元素。
但现在我的问题是,我如何将文件读入我的哈希,分配自动生成的值并以这样的方式对其进行排序,输出如下所示:
a:1
b:2
c:3
我尝试先创建数组,然后使用
将其链接到哈希%hash = @array
但它使我的哈希不可排序。
【问题讨论】:
-
您指的是哪种“自动生成的值”?就像您使用
$counter++得到的数字一样? -
@ASCIIThenANSI 是的,只是一个简单的 $counter++ ,每行都会增加。这个
$counter也应该是我的哈希中键的值,用字母表示:key -> a, value -> 1, key - > b, value -> 2。