如果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;
,那当然是)。
答
查找在当前读取页面的链接。它返回描述链接的WWW :: Mechanize :: Link对象。 (你可能会对url()属性最感兴趣。)如果找不到链接,它会返回undef。