Mac OS X で Perl/Tcl/Tk

(2005/06/03 記)

 テキストや簡単な数値計算処理に Perl をよく使っている。昔の人が N88-BASIC とかを使っていたのと似た感覚である。プログラムがテキストファイル1つですべて完結するので重宝する。文法が「なんでもあり」なので、気をつけないとすぐに理解不能なプログラムになってしまうのが難点だが、とにかく仕事を手早くやっつけるには最適の言語だと思っている。

 これに簡単な GUI をかぶせられたら便利なのに、と常々思っていたのだが、CPANTcl::Tk というモジュールがあることを最近知った。Perl/Tk は Mac では動かないが、Tcl/Tk は動くので、これなら使えるかも、と思って挑戦してみた。

(2005/06/11 追記) Perl/Tk は Mac では動かない、というのは正しくなかった。X11 がインストールしてあれば動かすことができる。ただ、10.3 までは Perl 自体をインストールし直す必要がある。どちらにしても、X11 が必要というのは個人的にはあまり嬉しくない。

1. 準備

 Tcl/Tk aqua が必要。Mac OS 10.4 からはシステム標準でついてくるらしい。10.3 なら上記ページの TclTkAquaBI か TckTkAqua をインストール。10.2 以前はどうだかわかりません。

 Tcl::Tk モジュールをインストール。10.3 の場合、Tcl モジュールのインストールに注意が必要。普通に perl Makefile.PL; make; sudo make install とすると、システム標準の Tcl の方を見つけてしまい、Tk との連携がうまくいかない。TclTkAqua の方とリンクするため、perl Makefile.pl --tclconfig /Library/Frameworks/Tcl.framework/tclConfig.sh; make; sudo make install とする。Tk モジュールの方は普通の手順でよい。

本当は ~/Library/Perl にインストールしたいところだが、そういうオプションは用意されていないらしい…

2. コードを書く

 いきなりですが NPointsSphere.pl2005/05/25 の日記に書いた「球面上にN個の点をできるだけ離して配置する」というやつです。左側のクリーム色のキャンバスをマウスでドラッグすると、トラックボールのように動かすことができます。

NPointsSphere.pl Screen Shot