読者です 読者をやめる 読者になる 読者になる

コマンドラインからWikipedia

たまに使う気もするので~/bin入れておく。

$ wikipedia.pl Perl

とすると、コマンドラインにWikipediaから引数で与えたキーワードの要約を取得して表示する。

ソースは以下。要WebService::SimpleAPI::Wikipedia。Yappoさんthx。

use strict;
use warnings;

use WebService::SimpleAPI::Wikipedia;
use Encode;

my ($keyword) = @ARGV;
$keyword = ucfirst $keyword; # Wikipediaではすべて一文字目は大文字

# SimpleAPIを使ってWikipediaから情報を取得
my $wiki = WebService::SimpleAPI::Wikipedia->new();
my $res = $wiki->api({ keyword => $keyword, search => 1 })->[0]
    or die qq{Entry "$keyword" is not found in Wikipedia.\n};

# 文字コードと改行の変換
my $title = encode_utf8($res->title());
my $body  = encode_utf8($res->body());
my $url   = $res->url();
$body =~ s{<br/>}{\n\n}gxms;

# 出力
print "*$title ($url)\n\n";
print $body;