行指向のパラメータファイルをyamlに書き換えたら楽かなと思い、ちょっとテストしてみた。
パラメータファイルconfig.ymalmap : a280 island1 : popsize : [10, 20, 30] end_generation : 100 island2 : popsize : [10,20,30] end_generation : 100テスト用スクリプト
#!/usr/bin/perl use strict; use warnings; use YAML::Syck; use Smart::Comments; my $data = YAML::Syck::LoadFile('./data/param/config.yaml'); my $sca = $data->{island1}->{end_generation}; my $array_ref_1 = $data->{island1}->{popsize}; my $array_ref_2 = $data->{island2}->{popsize}; ### $data ### $array_ref_1 ### $array_ref_2
実行結果
### $data: { ### island1 => { ### end_generation => '100', ### popsize => [ ### '10', ### '20', ### '30' ### ] ### }, ### island2 => { ### end_generation => '100', ### popsize => [ ### '10,20,30' ### ] ### }, ### map => 'a280' ### } ### $array_ref_1: [ ### '10', ### '20', ### '30' ### ] ### $array_ref_2: [ ### '10,20,30' ### ]
スペースがあるかどうかで配列になるかどうかが決まる。ちょっとハマりかけるところだった。