• ベストアンサー

LWP::UserAgent;の使い方

HTMLデータを取得しようと思いまして 以下のサイトのソースを使わせてもらっているのですが http://www.ksknet.net/perl/lwpuseragent_we.html 後半の取得結果を出力するところの print $res->content; の意味がよくわかりません。 これはどういう意味なのでしょうか? また、取得したHTMLコードを変数に格納したいのですが $resの中には無いようです、これも->contentが関係しているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

my $res = $ua->request($req); で,指定したURLを使用してクライアントからHTTPリクエストを投げ,その結果Webサーバから返ってくるHTTPレスポンスを変数$resとして受け取っている。 $res->is_success $res->status_line $res->header("Content-Type") $res->code $res->header("Server") などはすべて,そのHTTPレスポンスオブジェクトから取り出すことができるさまざまな属性値を参照するもの。 http://search.cpan.org/~gaas/libwww-perl-5.813/lib/HTTP/Response.pm $res->content もその一つで,Webサーバから返ってきたHTML全行をまとめて参照するメソッドです。 ANo.1で紹介された書き方ならHTML全行がまとめて$hensuに代入されますし, @lines = split(/\n/, $res->content); のように書けば,改行でHTML各行をバラして配列@linesに代入できます。

その他の回答 (1)

  • atom_seed
  • ベストアンサー率48% (25/52)
回答No.1

print $res->content; 取得したHTMLの中身をprint(ブラウザに出力)しています。 変数に格納したいのであれば、printの代わりに、変数を受け皿にして、 $hensu = $res->content; のようにすればOKです。

関連するQ&A