2013-07-05 94 views
-1
$temp =~ s/,//g 

這是什麼語法?我無法在「學習Perl」一書中的任何地方找到它。有人能告訴我這應該做什麼嗎?以下語法的作用是什麼?

+3

它的哪個部分是您無法理解的?這是一個基本的Perl語句,我不相信你的書不能解釋它。 – Barmar

+4

放輕鬆,夥計們。這是一個簡單的問題,但它不是一個簡單的Googleable。 – ikegami

+0

對不起,我冒犯了你敏感的感受。我一個星期前開始使用perl,但它很糟糕,但我開始喜歡它。我看了書中的所有正則表達式部分,但它不在那裏。 – user2521358

回答

7

它從$temp刪除所有逗號。

+1

有關Perl的正則表達式匹配和搜索/替換功能的信息http://www.regular-expressions.info/perl.html – Kyle

-2

報價this刪除所有逗號:

=〜是一個Perl運營商,這意味着「運行鍼對此正則表達式這個變量。

所以,這個正則表達式會刪除所有逗號字符,從變量$temp

+0

該報價錯誤。 '=〜'與正則表達式無關。它指示匹配運算符(m //),替換運算符(s ///)和音譯運算符(tr ///)在哪個變量上起作用。 – ikegami

4

它消除了從$temp的值的所有逗號。它返回替換的逗號數。


=~指示匹配操作符(m//),取代操作者(s///)和音譯運算符(tr///),其上可變採取行動。


s///是一個替代操作符。像其他操作員一樣,它記錄在perlop中。

它將前兩個分隔符(,)之間提供的正則表達式匹配的所有模式替換爲最後兩個分隔符(空字符串)之間的文字定義的字符串。

g修飾使操作替換所有匹配,而不是僅僅是第一。

正則表達式都記錄在perlreperlretut