use HTTP::Date;
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Date;
# 初期化
my $html;
my $timezone = 'JST';
my $url = 'https://www.yoursite.com/index.rdf';
my $rss = new XML::RSS;
my $proxy = new LWP::UserAgent; # UseAgent の作成
my $req = new HTTP::Request(GET=>$url);
my $res = $proxy->request($req); # $url にアクセスする
my $xml = $res->content; # コンテンツ (この場合は RSS/XML) を取得
# RSS を解析
eval {
$rss->parse($xml);
};
if($@) {
# $rss->parse が失敗したとき
}
# @{$rss->{items}} に、RSS のすべてのエントリー (item) が入る
foreach my $item ( @{$rss->{items}} ) {
my $date = HTTP::Date::str2time($item->{dc}->{date}, $timezone);
$html .= qq|<a href=$item->{link}>$item->{title}</a><br>\n|; # タイトルをリンクつきで出力
$html .= qq|$description<br>| if $item->{description}; # 概要 (description) を出力
$html .= qq|[<a href=$item->{link}>続きを読む</a>]<hr size=1>\n|;
}
print $html;
1;
use HTTP::Date;
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Date;
# 初期化
my $html;
my $timezone = 'JST';
my $url = 'https://www.yoursite.com/index.rdf';
my $rss = new XML::RSS;
my $proxy = new LWP::UserAgent; # UseAgent の作成
my $req = new HTTP::Request(GET=>$url);
my $res = $proxy->request($req); # $url にアクセスする
my $xml = $res->content; # コンテンツ (この場合は RSS/XML) を取得
# RSS を解析
eval {
$rss->parse($xml);
};
if($@) {
# $rss->parse が失敗したとき
}
# @{$rss->{items}} に、RSS のすべてのエントリー (item) が入る
foreach my $item ( @{$rss->{items}} ) {
my $date = HTTP::Date::str2time($item->{dc}->{date}, $timezone);
$html .= qq|<a href=$item->{link}>$item->{title}</a><br>\n|; # タイトルをリンクつきで出力
$html .= qq|$description<br>| if $item->{description}; # 概要 (description) を出力
$html .= qq|[<a href=$item->{link}>続きを読む</a>]<hr size=1>\n|;
}
print $html;
1;
use Encode; use Encode::Guess; use XML::RSS; use LWP::UserAgent; use HTTP::Request;
#!/usr/bin/perl
use Encode;
use Encode::Guess;
use XML::RSS;
use LWP::UserAgent;
use HTTP::Request;
my $url = 'https://perltips.twinkle.cc/index.rdf';
# 初期化
my $proxy = new LWP::UserAgent; # UseAgent の作成
my $req = new HTTP::Request(GET=>$url);
my $rss = new XML::RSS;
my $res = $proxy->request($req); # $url にアクセスする
my $xml = $res->content; # コンテンツ (この場合は RSS/XML) を取得
my $enc = guess_encoding($xml, qw/euc-jp shiftjis 7bit-jis utf8/); # 文字コードを判定
ref($enc) or die "Can't guess: $enc"; # 自動判定がうまくいかなかったときのエラー処理
# utf8 で保存 ($enc->name を decode することにより、utf8 で変数に保管される
$xml = decode($enc->name, $xml);
eval {
$rss->parse($xml);
};
if($@) { # $rss->parse が失敗したとき
print "error\n";
}
# @{$rss->{items}} に、RSS のすべてのエントリー (item) が入る
foreach my $item ( @{$rss->{items}} ) {
# ケータイ (iモード) で出力したいので Shift_JIS にする
my $title = encode('shiftjis', $item->{title});
my $description = encode('shiftjis', $item->{description}); # 上に同じ
print qq|<a href="$item->{link}">$title</a>\n|; # タイトルをリンクつきで出力
print qq|$description<br />\n|; # 概要 (description) を出力
}
exit;
use Encode; use Encode::Guess; use XML::RSS; use LWP::UserAgent; use HTTP::Request;
#!/usr/bin/perl
use Encode;
use Encode::Guess;
use XML::RSS;
use LWP::UserAgent;
use HTTP::Request;
my $url = 'https://perltips.twinkle.cc/index.rdf';
# 初期化
my $proxy = new LWP::UserAgent; # UseAgent の作成
my $req = new HTTP::Request(GET=>$url);
my $rss = new XML::RSS;
my $res = $proxy->request($req); # $url にアクセスする
my $xml = $res->content; # コンテンツ (この場合は RSS/XML) を取得
my $enc = guess_encoding($xml, qw/euc-jp shiftjis 7bit-jis utf8/); # 文字コードを判定
ref($enc) or die "Can't guess: $enc"; # 自動判定がうまくいかなかったときのエラー処理
# utf8 で保存 ($enc->name を decode することにより、utf8 で変数に保管される
$xml = decode($enc->name, $xml);
eval {
$rss->parse($xml);
};
if($@) { # $rss->parse が失敗したとき
print "error\n";
}
# @{$rss->{items}} に、RSS のすべてのエントリー (item) が入る
foreach my $item ( @{$rss->{items}} ) {
# ケータイ (iモード) で出力したいので Shift_JIS にする
my $title = encode('shiftjis', $item->{title});
my $description = encode('shiftjis', $item->{description}); # 上に同じ
print qq|<a href="$item->{link}">$title</a>\n|; # タイトルをリンクつきで出力
print qq|$description<br />\n|; # 概要 (description) を出力
}
exit;
#!/usr/bin/perl
use Encode::Guess;
use LWP::UserAgent;
use HTTP::Request;
my $url = 'https://perltips.twinkle.cc/index.rdf';
my $proxy = new LWP::UserAgent;
my $req = new HTTP::Request(GET=>$url);
my $res = $proxy->request($req);
my $xml = $res->content;
my $enc = guess_encoding($xml, qw/euc-jp shiftjis 7bit-jis utf8/);
ref($enc) or die "Can't guess: $enc"; # 自動判定に失敗したときのエラー処理
$xml = decode($enc->name, $xml); # utf8 で保存
...
#!/usr/bin/perl
use Encode::Guess;
use LWP::UserAgent;
use HTTP::Request;
my $url = 'https://perltips.twinkle.cc/index.rdf';
my $proxy = new LWP::UserAgent;
my $req = new HTTP::Request(GET=>$url);
my $res = $proxy->request($req);
my $xml = $res->content;
my $enc = guess_encoding($xml, qw/euc-jp shiftjis 7bit-jis utf8/);
ref($enc) or die "Can't guess: $enc"; # 自動判定に失敗したときのエラー処理
$xml = decode($enc->name, $xml); # utf8 で保存
...
use utf8; use Encode; use Geo::Google; use XML::Parser;
#!/usr/bin/perl
use utf8;
use Encode;
use Geo::Google;
use XML::Parser;
my $lng, $lat;
my $address1 = 'your address part 1 here';
my $address2 = 'your address part 2 here';
my ($degree) = getDegrees("$address1 $address2");
if($degree) {
$lng = $degree->longitude;
$lat = $degree->latitude;
} else {
$lng = ''; $lat = '';
}
sub getDegrees { # 住所から緯度経度を検索
return $GEO->location( address => Encode::encode_utf8(shift));
# shift = address / リファレンスを返す
}
use utf8; use Encode; use Geo::Google; use XML::Parser;
#!/usr/bin/perl
use utf8;
use Encode;
use Geo::Google;
use XML::Parser;
my $lng, $lat;
my $address1 = 'your address part 1 here';
my $address2 = 'your address part 2 here';
my ($degree) = getDegrees("$address1 $address2");
if($degree) {
$lng = $degree->longitude;
$lat = $degree->latitude;
} else {
$lng = ''; $lat = '';
}
sub getDegrees { # 住所から緯度経度を検索
return $GEO->location( address => Encode::encode_utf8(shift));
# shift = address / リファレンスを返す
}