Perl-非法十六进制数字警告错误

我在这行代码中收到警告:

$mismatch = ($_ =~ s/[^x0]//g);

在 xxxxxx.pl 第 61 行忽略了非法的十六进制数字 ']'。正则表达式对我来说是有效的,请问是什么导致了这个错误?这是它不喜欢的正确方括号。

谢谢!

回答

根据perldoc.perl.org,

类似地,xnn,其中nn是十六进制数字,匹配本机序数为 的字符nn。同样,不完全使用两位数字是灾难的秘诀,但您可以使用x{...}指定任意数量的十六进制数字。

所以,你需要使用

s/[^x00]//g

或者,s/[^x{0}]//g


以上是Perl-非法十六进制数字警告错误的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>