複数の区切り文字を持つ単一の文字列を key=>value ハッシュ構造に変換したいと考えています。これを達成する簡単な方法はありますか?私の現在の実装は次のとおりです。
sub readConfigFile() {
my %CONFIG;
my $index = 0;
open(CON_FILE, "config");
my @lines = <CON_FILE>;
close(CON_FILE);
my @array = split(/>/, $lines[0]);
my $total = @array;
while($index < $total) {
my @arr = split(/=/, $array[$index]);
chomp($arr[1]);
$CONFIG{$arr[0]} = $arr[1];
$index = $index + 1;
}
while ( ($k,$v) = each %CONFIG ) {
print "$k => $v\n";
}
return;
}
「config」には次が含まれます。
pub=3>rec=0>size=3>adv=1234 123 4.5 6.00
pub=1>rec=1>size=2>adv=111 22 3456 .76
最後の数字も削除する必要があり、「ip」という名前の別のキー=>値のペアに保持する必要があります。(コードを長く複雑にしなければ、これを達成することはできませんでした)。