无与伦比(在正则表达式中;标记为< - HERE,带有变量名称

时间:2015-12-23 07:33:35

标签: regex perl

我使用以下行定义了perl变量 bestphone

my $bestphone = (sort {$targets{$b} <=> $targets{$a}} keys %targets)[0];

当这个变量是(,我得到以下行的错误:

if ((@thing == 1)&&($thing[0] =~ /return '$bestphone';/)) {

错误:

  

无与伦比(在正则表达式中;标记为&lt; - HERE in m / return&#39;(&lt; - HERE&#39 ;; /   在

如何解决此错误?

2 个答案:

答案 0 :(得分:3)

您可以使用quotemeta转义$bestphone中的特殊字符。

例如:

$thing[0] =~ /return '\Q$bestphone\E';/

答案 1 :(得分:-1)

请删除“;”后面的“/” $ besrphone = quotemeta $ bestphone 然后再试一次