« githubのwikiエンジン「Gollum」を試してみた。 | Home | YAPC ASIA 2011で刺激されてJavaScriptに没頭してsonificator作った。 »
June 16, 2011
MTのワンライナーを素早く書く
通常、MTのパッケージはシステムレベルにインストールされません。そのため、lib/ とextlib/ へのパスを実行時に追加する必要があります。
例えば、EntryオブジェクトをDumpするワンライナーは以下のようになります。
$ perl -Ilib -Iextlib -MMT -MData::Dumper -e 'MT->new; print Dumper(MT->model("entry")->load(42))'
また、プラグインごとのlibディレクトリへのパスは、MTのインスタンス作成時に動的に追加されます。そのため、MTのプラグインを開発中、コンパイルチェックをしたい時などに直接実行する事ができません。
$ perl -Ilib -Iextlib -Iplugins/MyPlugin/lib -c plugins/MyPlugin/lib/MyPlugin.pm
長いですね。
そこで、以下のようなモジュールを、perlのパスの通った場所に設置します。
package T;
use strict;
use warnings;
use lib qw( lib extlib );
use MT;
BEGIN { MT->new };
1;
名前は、T.pmです。これで
$ perl -MT -MData::Dumper -e 'print Dumper(MT->model("entry")->load(42))'
$ perl -MT -c plugins/MyPlugin/lib/MyPlugin.pm
などと、perlにMT専用オプションが追加されたような錯覚を覚える事が出来ます。
No TrackBacks
TrackBack URL: http://aklaswad.com/cgi-bin/mt/mt-tb.cgi/322
Leave a comment