我有一个看起来有点像这样的配置文件:
add
1
2
concatenate
foo
bar
blat
我想要做的是把它变成像%hash = (name=>"add", args=> [1,2])
etc这样的哈希,并将哈希引用推送到一个数组中。遍历文件并创建每个散列似乎很简单,除了在命名这些散列以将它们的引用推入数组时我卡住了。配置文件将一直在更改,并且要存储可变数量的不同名称/参数组合。有没有办法遍历哈希名称,以便我可以一次将它们推送到一个数组中?
到目前为止,它看起来像这样:
my %temphash = (name=>'add', args=>[1,2]);
push (@array, \%temphash);
我可以把它%temphash
变成动态生成的东西并在继续下一个之前推动它吗?
编辑:上下文
计划是使用那些“名称”键来调用子程序。所以这样的事情可以工作:
my %subhash = (add=>\&addNumbers, concatenate=>\&concat);
除了我需要调用的子例程列表在配置文件中,我不知道它们是什么,直到我开始阅读它。即使我在配置文件中包含子例程的名称,我如何遍历它们并将它们作为元素添加到该哈希中?