0

我试图在 perl 中使用 LWP,并按照链接中给出的示例进行操作:http ://www.perl.com/pub/2002/08/20/perlandlwp.html ,

但我得到了这样的错误:

LWP::Simple 模块不导出“www.google.com”

在 /System/Library/Perl/Extras/5.12/LWP/Simple.pm 第 23 行出现导入错误后无法继续

这是我的代码:

      #!/usr/bin/perl -w
     use LWP::Simple

    $url = 'www.google.com';
    $content = get $url;

我在这里做错了吗?

4

3 回答 3

2

您的语句后需要一个分号use,并且您的 URL 需要指定一个协议。

 #!/usr/bin/perl
 use LWP::Simple;

 use strict;
 use warnings;

 my $url = 'http://www.google.com';
 my $content = get $url;
于 2013-02-07T00:09:26.020 回答
0

是的。你错过了后面的分号use LWP::Simple

于 2013-02-07T00:11:54.163 回答
0

如果你使用strict它会告诉你,你必须申报$url。但是如果你声明了这两个变量,你仍然会得到你所做的错误。

因此,这不是 USUW 的简单案例。

因为您没有在 import 语句后放置分号,所以 perl 将字符串分配给'www.google.com'autovariable $url。然后,由于它是一个可以传递的表达式,它将该值作为 的导出参数传递LWP::Simple

模块期望作为参数传递给其导入过程的任何值都是模块(或导出器)知道如何导出的符号。

所以它告诉你,无论你传入的字符串是什么,它都不是模块导出的东西。

所以,你只需要习惯这种类型的消息,指出你的 import 语句有问题。

于 2013-02-07T00:29:55.890 回答