1

私はPerlにあまり精通していませんが、これから作成する簡単なスクリプトにPerlを使用しています。このスクリプトはQualysとインターフェイスするため、Qualys APIに関する情報を検索しているときに、サンプルコードを調べているときにこのステートメントを見つけました。Pastebin.com(ここ)に置いたので、ダウンロードして表示する必要はありません。何らかの理由で自分でダウンロードしたい場合は、ソースをダウンロードできるようにしたい人のために私が入手したページへのリンクがあります(これは「マップの取得」です)

とにかく、これが私を少し混乱させているステートメント(261行目)です:

$request = new HTTP::Request GET => $url;

私はステートメントのnewGET => $url部分について混乱しています。

  1. newはステートメントの一部で何が起こっているのかをほぼ理解していると思いますが、誰かがこの行を明確にするのに役立つHTTP::Request新しいものを作成する方法を説明できれば(私はCPANのLWP :: UserAgentを見ましたが、「KEY / DEFAULT 「サブルーチンの説明LWP::UserAgentの下にあるテーブルは、私にはほとんど意味がありませんでした)。new
  2. GET => $url私は声明の一部で何が起こっているのか本当にわかりません。私の推測では、またはのいずれかに値が割り当てられてHTTP::RequestLWP::UserAgentますが、そのアイデアを裏付ける情報が見つかりません。
4

1 に答える 1

6

与えられた行は次のようになります

$request = HTTP::Request->new(GET => $url);

これは次のように書くこともできます

$request = HTTP::Request->new('GET', $url);

この例では、間接メソッド構文を使用しました。

HTTP::Requestとの間の関係は、 CPANドキュメントLWP::UserAgentで次のようにスケッチされています。

require HTTP::Request;
$request = HTTP::Request->new(GET => 'http://www.example.com/');

$ua = LWP::UserAgent->new;
$response = $ua->request($request);

したがって、はユーザーエージェントが実行できるHTTP:.Request->new(...)新しいリクエストを作成します

于 2012-07-31T15:19:08.460 に答える