Webページを読み込んで何か処理して表示するラッパーCGIのテンプレート(Perl)
2008-11-04-2
[Programming]
指定されたURLのウェブページを読み込んで、中で何かをしてそのまま表示するという一連の処理を実現するための CGI のテンプレート。
言語は Perl。
上記スクリプトは、ページ中のひらがなをカタカナに変換しています。
その部分を処理したい内容に書き換えればOK。
なお、charset まわりはいい加減です。
仮置き:テストとして下記URLに置いています(そのうち削除)
http://chalow.net/misc/wrapper.cgi
http://chalow.net/misc/wrapper.cgi?url=http%3A%2F%2Fchalow.net
(例↑)
念のため書いておきますけど、このスクリプトは、Perlプログラマーの規範となるような超スタンダードなものではありません。
なので、
「このコードを真に受けてクソのようなコードを量産する人が出ないように警告するブログ記事をかかなければ!」
などと意気込む必要はないです>ギークな方々。
おかしい点があったら、ブログやSBSで淡々と指摘してい頂けると幸いです。
追記081119:
ソースコードを修正しました。
ご指摘ありがとうございます!> id:kits
修正前のコードはウェブ魚拓からどうぞ。
追記110808:
ソースコードを修正しました。
修正前のコードはウェブ魚拓からどうぞ。
ref.
- [を] Perlでカタカナひらがな変換[2006-08-07-5]
言語は Perl。
#!/usr/bin/perl use strict; use warnings; use Encode; use CGI; use URI; 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; } $cont =~ s{(<\s*head\s*>)}{$1<base href="$url">}i; $cont = decode($page_encoding, $cont) if not utf8::is_utf8($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で淡々と指摘してい頂けると幸いです。
追記081119:
ソースコードを修正しました。
ご指摘ありがとうございます!> id:kits
修正前のコードはウェブ魚拓からどうぞ。
追記110808:
ソースコードを修正しました。
修正前のコードはウェブ魚拓からどうぞ。
ref.
- [を] Perlでカタカナひらがな変換[2006-08-07-5]
この記事に言及しているこのブログ内の記事