うろこ新聞 2004年2月20日号(メローフルーツ、LDT11)
柑橘類は大好きで、季節にはやたら食べる。
このごろはメローフルーツという、かなりジューシーなのをよく食べる。朝、グレープフルーツを食べるので1日2つはこういうものを食べている。この果物はスーパーには昔、出ていなかったと思う。八朔がいちばん好きなのだが、このごろあまり人気がないようだ。
ぺこ特派員からおきな草(宮沢賢治の童話にも出てくる)ほか、いろいろな写真をいただいているので、また連続して載せたいぺこさんのホームページの「ぺこの植物園」は速いペースで植物写真が載るのでごらんください。
冨澤さんからも紙焼きをいただいて、サボテンの写真など紹介したい。
1年ほど前からベルがソファの隅を自分の縄張りと主張しているようだ。
LinuxデスクトップTips その11
●なぜか、とつぜんMac
今日、いろいろと地下鉄で考えているうちに、やっぱりMacも使いたいと思った。OSXには基盤にLinuxが入っているし、今度いろいろやってみようという気になってきた。
Mac大好き派はたくさんいる。ウチの息子とか桐田さんとか志郎康さんとか哲男さん(清水哲男さん=清水哲夫…僕の本名と1字違いの詩人)とかかなりのMac好きがいる。
Perlの本を読んでいたら、カフェでノートMacを使って原稿を書いた旨記されていて、カフェへの謝辞が書いてあった。MacPerlというMac用のPerlがあるが、ちょっとよくわからないのでインストールしたままになっている。MacPerlを使ってスクリプトを検証していったのだろうか。
ともあれ、LinuxにはSambaとかAppleTalkとか、WindowsやMacとLANで直接ファイルのやりとりができるサーバプログラムも用意されている。でもLAN内のwebサーバにテキストでも置いておけば、たとえば、そのテキストで仕事的なことをするときコピー、貼り付けをすれば、そのままそのOSの文字コードで使える(なぜでしょう?)。このほうが無精者にはよさそうに思う。プログラミングでは無精して自動的に機械的なことはやってしまって、のんびりしてないふりをしてのんびりしちゃおうという志向が大事な考え方という。
●小さなツール(b)……OLBCKのindex.datの自動生成。
ということで、LAN内のサーバからここにツールを貼り付ける。
長尾高弘さんの作ったPerlプログラム、OLBCKは、たとえば手作業でHTMLを書いて前後リンクをつけてという作業を一気にやってしまおうというものである。これは何千とか数が多くなればなるほど、ありがたみが増す。この「うろこ新聞」もOLBCKを使っている。
僕の場合は、ほとんどこればかりでHTMLを作っている。デザインセンスがあれば、雛型に反映されるので、ばっちり決まったものがあっというまに多数生成できると思う。
ところでこのOLBCKは初めの作業として、titleタグに入れる文字列(ブラウザの枠の上に表示される)、題名、必要であれば書き手の名前などをコロン(:)で区切ったものをファイル化しなければならない。
これも無精して一気に作ってしまおうというperlスクリプトを書いてみた。
open IN, "dir.dat";
@in=<IN>;
while ($file = shift(@in)){
chop($file);
open FILE, "$file";
@file=<FILE>;
open OUT, ">>mokuji.dat";
chop(@file[0]);
$namae=@file[0];
$namae=~ s/^ +//g;
print OUT "$file:","$namae",':',"$namae",'::::::::',"\n";
}
《Perl語から日本語への翻訳
小さなツール(a)で生成したdir.datという同じディレクトリ(フォルダ)に入ったファイル名を列挙したファイルを操作するためにINというハンドルをつけて、開きます。その全部を@inという配列(各行を一要素とする配列)とします。
その配列のいちばん上を取っていき(shift)、それがなくなるまで(while)その1行を$fileという名前を付けて加工します。後ろの改行を取りましょう(chop)。その名前のファイルを開いて、FILEというハンドルで動かしますね。
さて今度はその1行に記された名のファイルを開いたので、その全行を@fileという配列に収めます。dir.datの1行目から最終行まで一つずつ上から取ってその名のファイルを開いていきます。
そのファイルの1行目は@file[0]と表せます。なぜなら、要素の順を表すとき、0からはじめますので。たとえば3行目は@file[2]です。その1行目の改行コードを取ります(chop)その1行目を$namaeと名づけます。つまり、ファイルの1行目にあるタイトルの$namaeに代入します。
それから、タイトル文字が始まるまえに全角空白を入れていることがありますので、初めからある全角空白(^ )やそれが続いたもの(+)をとっちゃいましょう。
そしてファイル名:タイトル:タイトル::::::という行に収めてそれを1行ずつOUTというハンドルで開いた「mokuji.dat」というファイルに書き込んでいきます。
これでOLBCKでいうindex.datのできあがりです。ファイル名はアスキー順にしておけば、そのまま順番が反映されます。たとえば、サフィックスを poemとしてpoem001.txt…poem898.txtとかファイルの順はファイル名のアスキー順になります。》
OLBCK(オンライン・ブック・コンストラクション・キット)を使うとき、このスクリプトが仕込みに使えればさいわいです。

|