2012-06-20 69 views
2

我有一個變量$next其中包含可能包含括號的字符串,例如trna(tgc)我想使這個匹配語句if ($data[$i][2]=~/$next/){ ..},它總是返回假,即使它在現實中是真的。我試過這個if ($data[$i][2]=~/trnA\(tgc\)/){ ..},它的工作原理。 我的問題是:如何在每個括號前插入'\'到變量$nextperl正則表達式括號的匹配

回答

3

我想你想要quotemeta

$next = "trna(tgc)"; 
$search = quotemeta($next); 
if ($data[$i][2]=~/$search/){ 
    //.. 
} 
4

需要引用元字符。

試試這個。

print "match" if($var1 =~ /\Q$var2\E/);