我正在處理未註釋的Perl代碼。我遇到了一段文字,對我來說,作爲perl初學者來說,這看起來太過分了。這是一個簡單的適應:分配模式綁定操作符
my $foo;
my $bar = "x|y|z|";
$bar =~ s{\|$}{};
($foo = $bar) =~ s{ }{}gs;
我的理解是$bar =~ s{\|$}{}
適用於裏面$bar
字符串右側的正則表達式。 但是表達式($foo = $bar) =~ s{ }{}gs;
是什麼意思?我不是在問正則表達式,而是在表達它的表達方式。
感謝。在這樣的SO上被深刻的回答所掩蓋,我並沒有期望通過觀察它們如何變化來真正發現很多關於變量的變化。我的一個同志猜測「正則表達式在'$ b'上執行,但結果存儲在'$ a''中,這會導致相同的值,但我現在不知道,'$ b'被分配給'$一個「之間。 – Andre
有趣的是'$ b'(或'$ x')保持不變。然而,這是一種永遠不需要使用的Perl魔法。我認爲將聲明分成兩部分可讀性更強。 – TLP
關於'$ a'和'$ b'作爲「保留」變量的好處。在這種情況下,我只是將示例的實際變量重命名。 – Andre