我被这个有点不一致的调试器行为咬住了。该quotemeta()
功能似乎当perl -d
为什么在调试器下,Perl的quotemeta()函数的行为有所不同?
$ perl -e 'print quotemeta("https://stackoverflow.com/a/b/c"),"\n"'
输出是\/a\/b\/c
,这是正确的下调用,并在perldoc -f quotemeta
文件,以不同的表现。
现在,在调试器下,输出变为\\/a\\/b\\/c
。我认为我正在使用的一些核心模块是通过重新定义函数来测试的,但似乎只有在调试器下才会出现这种情况。拨打CORE::quotemeta()
将返回相同的输出。
有人可以启发我吗?
谢谢!
“输出成”?你是说印刷实际上输出不同的东西? – ysth 2010-07-28 16:32:15
“输出变成”表示'x'命令的输出,也就是说,与调试器中的'p'命令相反。 – 2010-07-29 04:05:29