我正在尝试解析一些以\x00
空值分隔的数据。我认为在一个-pe/-ne
循环中,$_
相当于.*
在替换正则表达式的模式匹配端......但是正如我的示例所示,它们并不相同......
# ↓↓‾‾ works, but is not a regex
printf 'aaa\n\0bbb\n\0' | perl -ne 'BEGIN{ $/="\0"; }; s/$_/\"$.$&\"/ and print;' |xxd
printf 'aaa\n\0bbb\n\0' | perl -ne 'BEGIN{ $/="\0"; }; s/.*/\"$.$&\"/ and print;' |xxd
# ↑↑__ gives un-expected output
# output # ↓ ↓
0000000: 2231 6161 610a 0022 2232 6262 620a 0022 "1aaa..""2bbb.."
0000000: 2231 6161 6122 0a00 2232 6262 6222 0a00 "1aaa".."2bbb"..
# ↑ ↑
要获得一种s/ / /
替代类型来识别完整的,需要$_
什么?