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

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

那么这段代码有什么问题?如果不起作用,例如推荐是 site.com/2nujroj49lni,它应该向我显示$link但它向我显示$refer

为什么 ?我不明白

只要它不是 .swf 我应该得到链接而不是我在互联网上搜索的推荐人,它看起来是合法的。据我所知,没有错误,但仍然无法正常工作

4

1 回答 1

9
if ($gk1 = $gk2)

永远都是真的。这是一个任务,而不是比较。如果它们是数字,你会想要:

if ($gk1 == $gk2)

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

if ($gk1 eq $gk2)
于 2013-10-01T21:42:17.137 回答