2012-11-10 89 views
2

我不明白在下面的代碼中%%是什麼意思。任何人都可以有一點expalin?似乎有一個perl特殊哈希變量由%%引用,但在搜索後,仍然沒有找到一個很好的答案。因此,放棄這裏的問題。在正則表達式中使用的未知特殊變量

$execOut = `ps -ef --cols 180 | grep nsproc`; 
$execOut =~ s/%%//g; 
+1

..你確定它不只是匹配字符串「%%」嗎? – jrajav

回答

8

沒什麼特別的。它會擦除%對的所有實例。 %在Perl字符串和正則表達式中不是特殊的。只有標量和數組可以插值。

>perl -E"$_ = 'abc%%def%%ghi'; s/%%//g; say;" 
abcdefghi 
+0

我不敢把這個作爲答案,我以爲我錯過了另一個Perl正則表達式的深奧祕密......:P – jrajav

+0

好吧,如果你想學習一些關於正則表達式的新東西,或者至少s ///,請檢查'// // r',它使'say'abc %% def %% ghi'=〜s/%% // gr;'相當於我答案中的代碼。 – ikegami