Perl事始め その1(1997.7.2)

Perl事始め その1(1997.7.2)



 長尾さんの書いたPerlプログラム、OLBCKはとても便利に使わせていただいているが、CGIをやり始めるにはサーバ側のこともよく知っておかなければならないので、怖い。Perlはとても便利なので覚えようと思って、先週から本を読んでいる。いわゆる「ラクダの本」で、Rarry Wall and Randal L.Schwartzの『Perlプログラミング』(ソフトバンク)である。まあ、ローカルで自分だけに便利なツールスクリプトをとりあえず書いてみよう、というところである。
 まず定型書簡に、相手の名前、コメント、その他を挿入して改ページするものを作った。これは挿入する部分を別ファイルにして、そこから読み込むスクリプトにした。ただし、定型本文はスクリプト中に置いた。次にBooby Trapの予約金の切れた方に予約更新のお願いの文書を作るスクリプトを作った。これはスクリプト中に挿入する配列を定義した。さらに日曜にHTMLでjpegやgifのアルバムを表示する簡単なスクリプトを作った。

open(FILE, "gif.dat") || die "Can't open gif.dat: $!\n";
$album = "album";
print "\<html\>\<head\>\<title\>$album\<\/title\>\<\/head\>\<body\>","\n";
while(<FILE>){
($name, $com) = split(/:/, $_) ;
print "\<img src\= \"$name\"\>\<p\>$com\<br\>\<br\>","\n";}
print "\<\/body\>\<\/html\>","\n";

 なにか書き方が汚いが、動けば満足というところである。gif.datはコロンをデリミタとした別ファイルである。これを昨日、長尾さんにmailで送っておいたら、次のようなgif.datを作るファイルを書いてくれた。

$title = 'album';
$out = 'gif.dat';
opendir(DIR, ".");
@files = sort readdir(DIR);
open (OUT, ">$out");
while($file = shift @files) {
unless ($file =~ /.*\.(gif|jpg|jpeg)$/i) {next;}
print OUT "$file:\n";
}

 写真のキャプションは初めのスクリプトの$comで展開される。長尾さんのスクリプトのコロンの後にキャプションを書けばいいのである。カラーのjpegファイルをHomePageにたくさん置くと、領域を食いすぎる。ローカルでアルバムを作るにはいろいろとお絵描きソフトに付いてくるが、家族写真のアルバムなんかをフロッピーで親戚などに渡して楽しんでもらうのに役に立つと思って書いた。長尾さんのスクリプトはディレクトリに関する関数が出てくる。これを見ればreaddirの意味が一目瞭然で、これから使ってみようということになる。
 Perlの勉強を公開するのは、これからも飽きないように自分で勉強するためには、宣言しちゃったほうがいいからと思うからである。でも、HTML版のアルバムをつくるのも手書きでは面倒なので、ひょっとしたら誰か役に立つ方がいれば幸いである。

|
清水鱗造 連続コラム 目次| 前頁(Perl事始め その2(1997.7.19))| 次頁(お絵描きソフトの楽しみ その2(1997.6.18))|
ホームページへ