匹配字符串被视为双引号引用的字符串,所以会先执行其中的变量替换,所以变量可以当作匹配条件
比如:
[B]$foo = 'house';
'cathouse' =~ /cat$foo/; # matches
'housecat' =~ /${foo}cat/; # matches[/B]
你给的[B]^\s+\<\$findtag\>\S*\<\/\$findtag\>[/B]这个表达式我感觉
"<"和"$"都不需要转义,findtag应该加{}来确定变量名的范围
所以应该写为
^\s+<${findtag}>\S*<\/${findtag}\>
你可以参考
http://aspn.activestate.com/ASPN ... g_character_classes