我對perl比較陌生,在check_ilo2_health.pl中有一段代碼片段,其中有一段語法,我不明白它是如何工作的或爲什麼工作的。代碼片段是逐行解析SSL客戶端數據,在這種情況下是XML。Perl,分配給來自正則表達式匹配的變量
if ($line =~ m/MESSAGE='/) {
my ($msg) = ($line =~ m/MESSAGE='(.*)'/); #<---- HERE
if ($msg !~ m/No error/) {
if ($msg =~ m/Syntax error/) { #...etc
有問題的XML的一個例子:
<RESPONSE
STATUS="0x0000"
MESSAGE='No error'
/>
因此,在這種情況下,如果聲明採取MESSAGE線XML樣本。我知道我的($味精)將該變量視爲一種列表,我理解正則表達式如何匹配;但是,我不明白的是這樣的語法:$ msg是分配的到沒有錯誤。 perl似乎在使用括號語法來操作,這樣才能工作。雖然它的作品,我想知道它是如何工作的。任何援助將不勝感激。
如果您指的是'=〜'或'!〜',那麼[綁定操作符](http://perldoc.perl.org/perlop.html#Binding-Operators)。 –