在嘗試清除Perl正則表達式中的只讀變量時遇到一些問題。 這裏是一個示例代碼。從perl正則表達式中清除只讀變量
while (<$input>) {
$cap = "";
$_ =~ s/(.*)"(hello)(.*)"(.*)/$1$2$4/;
$cap = $2;
print "$_\n";
print "captured $cap\n";
}
這很好,直到它讀的行沒有你好。 由於某些原因,即使正則表達式不匹配任何東西,2美元仍然是「你好」。 我嘗試使用
$2 = "";
但我得到一個只讀值的
修改試圖
如何清除變量有什麼建議?
只讀值不能被修改。這點很重要!請注意,如果不發生匹配,則不會發生替換。 – 2014-09-22 13:17:51