LWP::Simple 練習

ファイルの文字コードUTF-8 で作成している。

単純に WEB ページを保存する

#!/usr/bin/perl
use strict;
use warnings;
use LWP::Simple;
use utf8;

my $url = 'http://www.excite.co.jp/';

# WEB ページを保存する
# 保存された WEB ページの文字コードはオリジナルと同じ
getstore($url, 'index.html');

getstore

URLにより識別されるドキュメントを取得し、ファイルに格納します。戻り値はHTTP応答コードです

get, head, getprint, getstore, mirror - 手続き型LWPインターフェース

LWP::Simple の応用

http_head.pl で保存する。

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

my $url = 'http://www.excite.co.jp/';

# HTTP ヘッダを取得する
my($content_type, $document_length, $modified_time, $expires, $server) = head($url);
print "$content_type\n";
print "$document_length\n";
print "$modified_time\n";
print "$expires\n";
print "$server\n";

実行結果は次の通り。

% chmod u+x http_head.pl 
% ./lwpsimple_head.pl
text/html
79376
Use of uninitialized value in concatenation (.) or string at ./lwpsimple_head.pl line 12.
Use of uninitialized value in concatenation (.) or string at ./lwpsimple_head.pl line 13.
Netscape-Enterprise/6.0

該当する項目が null の場合もあるので、12行目と13行目にある $modified_time と $expires でエラーが発生している。