我被這個有點不一致的調試器行爲咬住了。該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