【发布时间】:2013-02-11 18:42:44
【问题描述】:
这里是新手。如果我缺少详细信息,请致歉。
在 perl 5 中
我有一个类似这样的文件
precedence = 2
new york
new jersey
florida
precedence = 3
kings
essex
dade
precedence = 1
brooklyn
newark
miami
我没有问题遍历文件并创建一个保存优先级值的 $var 和一个保存行直到下一个“部分”(优先级 = x)的数组(@tmp)
我最终需要按照偏好的顺序将所有部分推入最终数组
所以
print @final;
结果
brooklyn
.....
new york
.....
kings
.....
注意:我从来不知道会有多少节或每个节有多少行
我想也许可以做一个哈希哈希并将每个数组放在 HoH 中
push @{ $hash{"section_2"} }, @tmp ;
但我不知道
a) 如果每次我加载一个部分时重用@tmp 数组会出现问题(在每个循环开始时将其消隐之后)
b) 我不知道如何在键“section_2”中获取数组中的所有值并将它们推送到@final
当然可能有更好的方法。
【问题讨论】: