0

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

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

非常感谢。

4

3 回答 3

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

于 2013-10-06T01:10:05.393 回答
1

文档对此非常清楚:

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

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

于 2013-10-06T00:34:37.590 回答
1

让我们看看文档怎么说!

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

于 2013-10-06T00:35:26.460 回答