【发布时间】:2018-12-03 17:59:27
【问题描述】:
我想在 Perl 中处理一个字符串。在我之前的线程 (link) 上,我询问了如何解析选项。考虑以下字符串:key1=abc,key2=123,key3=xwz。在上一个帖子中,我得到了一个解析的建议:
$arg{"multi"} = { split /[=,]/, $arg{"multi"}};
所以我得到以下输出:
$VAR1 = {
'multi' => {
'key2' => '123',
'key1' => 'abc',
'key3' => 'xwz'
}
};
我想在键之前插入“自定义”,所以输出将是:
$VAR1 = {
'multi' => {
'custom.key2' => '123',
'custom.key1' => 'abc',
'custom.key3' => 'xwz'
}
};
我可以通过遍历散列的键来做到这一点,但如果可能的话,我想用与 $arg{"multi"} = { split /[=,]/, $arg{"multi"}}; 相同的命令来做到这一点。
我尝试将custom 放在split 和$arg{"multi"} 之前,但它没有按预期工作。如何解决这个问题?
编辑:有没有办法做到这一点,而无需导入任何新功能和模块?如果我们需要将$arg{"multi"} = { split /[=,]/, $arg{"multi"}};改成别的东西,也算是一种解决方案。
【问题讨论】: