为什么“如果”不起作用?

时间:2013-10-01 21:39:33

标签: perl

my $trefer = $ENV{HTTP_REFERER}; 
my $gk1 = substr($trefer, -4);
my $gk2 = ".swf";
my $antigk = $gk1;

if ($gk1 = $gk2) { 
  $antigk = $trefer; 
} 
else 
{  
  $antigk = $link; 
}

这段代码怎么了?如果不工作,例如referal是 site.com/2nujroj49lni,它应该显示$link,但它会显示$refer

为什么?我不明白

只要它不是.swf我应该得到链接而不是referal 我在互联网上搜索它看起来合法。就我所见,但仍然没有工作没有错误

1 个答案:

答案 0 :(得分:9)

if ($gk1 = $gk2)

永远是真的。这是一项任务,而非比较。如果他们是数字,你需要:

if ($gk1 == $gk2)

但它们是字符串,所以在Perl中你需要:

if ($gk1 eq $gk2)