0

私はperlでLWPを使おうとしていましたが、次のリンクにある例に従いました:http: //www.perl.com/pub/2002/08/20/perlandlwp.html

しかし、私はそのようなエラーを受け取りました:

「www.google.com」はLWP::Simpleモジュールによってエクスポートされません

/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'を自動変数に割り当てています$url。そして、渡すことができる式であるため、その値をのエクスポート引数として渡しますLWP::Simple

モジュールは、インポートプロセスに引数として渡される値が、モジュール(またはエクスポーター)がエクスポート方法を知っているシンボルであることを想定しています。

つまり、渡した文字列が何であれ、モジュールがエクスポートするものではないということです。

したがって、インポートステートメントに問題があることを指摘するこのタイプのメッセージに慣れる必要があります。

于 2013-02-07T00:29:55.890 に答える