我对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)。 –