2014-05-05 101 views
-1

我正在使用別人的文本解析perl代碼,我想進行一些修改。有人可以解釋什麼=〜符號在做什麼?什麼是perl符號=〜

$xmlfile =~ s/value="{(.*?)}"/'value="'.&subst($1).'"'/ge; 

編輯:

所以我發現了這個線索,解釋了正則表達式字符串的一部分。

http://www.perlmonks.org/?node_id=24640

+1

http://perldoc.perl.org/perlre.html –

+2

你知道其餘的行嗎? – Thilo

+0

提示:您可以在本網站上搜索時髦的語法。使用搜索字符串'[perl]「=〜」',你會得到你的答案。 – Mat

回答

1

默認情況下,匹配,替換或音譯作用於$_;要在另一個變量上使用它們,則使用綁定運算符=~。在你的情況下,替換將執行的變量是$xmlfile

+0

那麼$ xmlfile傳入$ 1?或者任何與s/value =「{(。*?)}」匹配的內容被傳入$ 1? –

+0

'$ 1'是'(。*?)'所捕獲的,所以就是大括號內的內容。 $ xmlfile是它將查找並替換的字符串。 – ysth

0

根據perlop

二進制 「=〜」 結合標量表達式模式匹配。某些操作默認搜索或修改字符串$ _。這個操作符使這種操作在其他一些字符串上工作。正確的參數是搜索模式,替換或音譯。左邊的參數是應該搜索,替換或音譯的內容,而不是默認的$ _。