如果find_link无法找到链接,返回什么?

问题描述:

在Perl中, 我使用WWW :: Mechanize-> find_link(text =>'my_text');我的问题是如果找不到链接返回的内容。如果find_link无法找到链接,返回什么?

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

非常感谢。

它返回未定义的链接。在这一点上,你需要决定该怎么办...

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;,那当然是)。

该文档是它很清楚:

如果没有找到它返回undef的链接。

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

Let's see what the docs say!

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