我希望将具有多个分隔符的单个字符串转换为 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;
}
其中“配置”包含:
pub=3>rec=0>size=3>adv=1234 123 4.5 6.00
pub=1>rec=1>size=2>adv=111 22 3456 .76
最后的数字也需要删除,并保存在一个单独的 key=>value 对中,其名称可以是 'ip'。(如果不使代码过于冗长和复杂,我无法做到这一点)。