作者: 藤岡和夫
日時: 2010/3/17(20:31)
On Wed, 17 Mar 2010 03:08:53 +0900
INABA HITOSHI <hinaba@...> さんwrote:

> さらに、Sjis-0.52 を CPAN に載せました。
>  
> 以前よりも依存するモジュールを減らし、さらに必要なモジュールは
> 同等なコードをプログラムに埋め込むようにしました。難しかった
> "use re 'eval';" を不要にする件も何とか対応してみました。
>  
> これで Sjis.pm と Esjis.pm だけになったわけですが @nifty でも
> 使えるといいですね。

 早速試しました。次のようなSJISで書いたCGIでSJISのファイルを処理できま
した^^)v もちろん、@niftyで。もっとも、homepageサービスは終了してしまい
ました。新しくは開設できません。@niftyのホームページサービスはLaCoocanに
統合されたので、これからホームページを作る方はおそらく5.8を使うことにな
りますね。僕は5.005_03を使う運命にある^^;)

#!/usr/local/bin/perl
use Sjis;
opendir(DIR,"/homepage");
@htmlfiles = grep(/^renewal_2010_\d+\.html$/,readdir(DIR));
closedir(DIR);
print "Content-type: text/html; charset=Shift_JIS\n\n";
print "<html>\n<body>\n";
print "<ul>\n";
foreach $file (sort @htmlfiles){
    open(IN,"/homepage/$file");
    while(<IN>){
        if(/^<div class="emph"><A HREF="[^"]+">\[([^\]]+)\]<\/A> <A NAME="\w+_\d+">(.+)<\/A><\/div>$/i
           && $1 eq "日記"){
            print "<li>[", $1, "] ", $2,"\n";
        }
    }
    close(IN);
}
print "</ul>\n";
print "</body>\n</html>\n";

http://hpcgi1.nifty.com/kazuf/renewal_titles.cgi

で動作を見ていただけます。

 素晴らしいですねえ。何かCGIをホームページに載せたいなあ・・・

> # TSNETスクリプト通信の記事は今回は書けそうにありません。
> # すみません。充電して次号に備えておきます。

 いえ、大変ご苦労様でした。次号のご投稿を楽しみにしています。

 お陰さまで、ホームページの可能性が広がりました。Sjis.pmをもっと試して
いこうと思います。

藤岡 和夫
kazuf@...
日曜プログラマのひとりごと http://homepage1.nifty.com/kazuf/renewal.html