指定されたURLのウェブページを読み込んで、
中で何かをしてそのまま表示するという
一連の処理を実現するための CGI のテンプレート。
言語は Perl。
#!/usr/bin/perl use strict; use warnings; use Encode; use CGI; use URI; use HTML::Template; use LWP::Simple; use utf8; my $q = new CGI; my $url = $q->param('url') || ""; my $cont = $url ? (get($url) || "") : ""; my ($page_charset, $page_encoding) = ("UTF-8", "utf8"); if ($cont =~ /charset=(EUC-JP|Shift_JIS)/i) { $page_charset = $1; $page_encoding = "euc-jp" if $page_charset =~ /EUC-JP/i; $page_encoding = "shiftjis" if $page_charset =~ /Shift_JIS/i; } print $q->header(-charset => $page_charset); if ($cont eq "") { print qq(<html><head><title>wrapper</title></head> <body><form method="get" target="_blank"> <input type="input" name="url" size="80"> <input type="submit"></form></body></html>\n); exit; } my $u = URI->new($url)->host_port; $cont =~ s{(<\s*head\s*>)}{$1<base href="http://$u">}i; $cont = decode($page_encoding, $cont); # do something vvv $cont =~ tr/ぁ-ん/ァ-ン/; # do something ^^^ print encode($page_encoding, $cont);
上記スクリプトは、
ページ中のひらがなをカタカナに変換しています。
その部分を処理したい内容に書き換えればOK。
なお、charset まわりはいい加減です。
仮置き:テストとして下記URLに置いています(そのうち削除)
http://chalow.net/misc/wrapper.cgi
http://chalow.net/misc/wrapper.cgi?url=http%3A%2F%2Fchalow.net
(例↑)
念のため書いておきますけど、
このスクリプトは、Perlプログラマーの
規範となるような超スタンダードなものではありません。
なので、
「このコードを真に受けて
クソのようなコードを量産する人が出ないように
警告するブログ記事をかかなければ!」
などと意気込む必要はないです>ギークな方々。
おかしい点があったら、
ブログやSBSで淡々と指摘してい頂けると幸いです。
ref.
- [を] Perlでカタカナひらがな変換[2006-08-07-5]