Perlを使ったCGI その1

2012.01.09

必要なファイル類

■ KCatch.pm

>> 入手先(Kawa.net)
エラー内容をHTML化してブラウザに表示してくれるモジュール。不具合の原因究明が容易くなる。

■ analysisHTTP.pl と getHTTP.pl と decodeChunk.pl

>> 入手先(笠井家)
Webページの読み込みを可能にするスクリプト。現在はLWPモジュールを用いるのが一般的だが、それが不可の場合でもこれにより処理が可能となる。

■ jcode.pl

>> 入手先(CGI-Search)
日本語コード変換スクリプト。現在は Encode.pm が標準ライブラリに入っているため、新たにスクリプトを作る際には必要としない。古いスクリプトを改変せずに利用する場合には必要となることがある。

■ lemma.pl と lemma_dic.txt

>> 入手先(朝尾幸次郎先生)
英語テキストに含まれる語をレンマ化するスクリプト。形態素解析用モジュールが使用できない環境でもこれにより同様の処理が可能となる。

CGIスクリプトの冒頭部分

上記ファイル類などを使用する場合のCGIスクリプトはとりあえず以下のように書き出す。老婆心ながら一つ付け加えると、パーミッションその他になんら問題がないのにサーバがエラーを返してきて困惑する場合、その原因の一つにMacOSの改行コード(CR)がある。改行コードがLFになっているか確認することをお勧めする。

#! /usr/bin/perl

###### デバッガ用
use KCatch;

###### 日本語文字コード処理用
use Encode;

###### Web上のファイル操作用
require './getHTTP.pl';
require './analysisHTTP.pl';
require './decodeChunk.pl';

###### HTML出力用
print "Content-type: text/html;charset=EUC-JP \n\n";

実作例

Webページを読み込んでテキスト処理等々を行なうスクリプトとしては以下のものを試作した。

>> 天気予報CGI

予報をRSS形式で配信しているサイトから複数のファイルを読み込み、それぞれ日本語コードをUTF8からEUCJPに変換した上で必要な情報のみを取り出して加工した。

▼研究関連メモ目次へ戻る

Copyright(c)2005-2012 ccoe@mac.com Allrights reserved.