次のような構成ファイルがあります。
add
1
2
concatenate
foo
bar
blat
私がやろうとしているのは、これを%hash = (name=>"add", args=> [1,2])
などのハッシュに変換し、ハッシュ参照を単一の配列にプッシュすることです。ファイルをループして各ハッシュを作成するのは簡単に思えますが、これらのハッシュに名前を付けてそれらの参照を配列にプッシュするときに行き詰まります。構成ファイルは常に変更され、保存するさまざまな名前/引数の組み合わせが可変数になります。一度に 1 つずつ配列にプッシュできるように、ハッシュ名を反復処理する方法はありますか?
これまでのところ、次のようになります。
my %temphash = (name=>'add', args=>[1,2]);
push (@array, \%temphash);
%temphash
それをその場で生成されたものにして、次のものに進む前にプッシュできますか?
編集:コンテキスト
これらの「name」キーを使用してサブルーチンを呼び出す計画です。したがって、次のようなものが機能します。
my %subhash = (add=>\&addNumbers, concatenate=>\&concat);
呼び出す必要があるサブルーチンのリストを除いて、構成ファイルにあり、そこから読み取りを開始するまで、それらが何であるかはわかりません。構成ファイルにサブルーチンの名前を含めたとしても、それらを反復処理してそのハッシュに要素として追加するにはどうすればよいでしょうか?