我想找到并替换多个存储内容的标量变量(每个字符串的内容会有所不同)因此我需要为两个变量插入两行来进行相同的替换.
$str1=~s/\_/&underscore\;/g;
$str1=~s/\^/&carrot\;/g;
$str2=~s/\_/&underscore\;/g;
$str2=~s/\^/&carrot\;/g;
Run Code Online (Sandbox Code Playgroud)
是否有可能在一次拍摄/同时替换所有要更换的弦.请注意,内容会因字符串而异.(可能是我问问题的方式是孩子,但我正在做更换超过200线,但试图减少编码线)
您可以将变量放在for循环中,循环将$_依次为每个变量添加别名.请注意,下划线或分号都不需要在正则表达式模式中进行转义
for ( $str1, $str2 ) {
s/_/&underscore;/g;
s/\^/&carrot;/g;
}
Run Code Online (Sandbox Code Playgroud)
然而,这两者都是非标准实体.你自己宣布过吗?你可能意味着caret而不是carrot,这是一种蔬菜!我看过它^,但我认为这也是非标准的.你总是可以使用^(和_下划线)