如果find_link找不到链接,会返回什么?

时间:2013-10-06 00:31:43

标签: perl www-mechanize

在perl, 我使用WWW :: Mechanize-> find_link(text =>'my_text');我的问题是如果找不到链接会返回什么。

我的目的是检查链接是否存在然后是Mechanize :: follow_link();;

非常感谢。

3 个答案:

答案 0 :(得分:2)

它返回一个未定义的链接。那时,你需要决定做什么......

my $link = WWW::Mechanize->find_link(text=>'my_text');
if ( not defined $link ) {
    say "Here be dragons...";
}

您可以一步完成:

if ( my $link = WWW::Mechanize->find_link(text=>'my_text') ) {
    Do something with "$link";
}

问题是$link会在if语句之外消失(如果您使用的是use strict;,那当然是)。

答案 1 :(得分:1)

文档很清楚:

  

如果找不到链接,则返回undef。

http://metacpan.org/pod/WWW::Mechanize

答案 2 :(得分:1)

Let's see what the docs say!

  

在当前获取的页面中查找链接。它返回一个描述链接的WWW :: Mechanize :: Link对象。 (您可能对url()属性最感兴趣。)如果找不到链接,则返回undef。