MTでPerlを学ぶ(その1・環境の準備)

Movable Typeは「Perl」というプログラム言語で作られています。
そのため、MTを使っていくうちにPerlに興味を持って、「自分もPerlを学んでみたい」という方もいらっしゃるかと思います。

そこで、「MTを使ってPerlを学ぶ」というテーマで、しばらく記事を書いてみたいと思います。

1.PerlScriptプラグインのインストール

Perlを学ぶには、当然のことですが、Perlの動作環境が必要です。
MacOS Xなら、標準でPerlが入っています。また、Windowsなら、ActivePerlをインストールするのが簡単です。

ただ、MTからPerlに入るのなら、MTそのものをPerl学習の土台にしたいところです。
そこで、Brad Choate氏が開発した「PerlScript」というプラグインを使います。
PerlScriptプラグインは、テンプレートにPerlのプログラムを書いて動作させることができるものです。
PerlScriptプラグインはMTの初期の頃からあるプラグインで、古い書き方で作られていますが、MT4.22でも動作します。

PerlScriptプラグインは、以下のページからダウンロードします。

PerlScriptプラグインの解説のページ

Zipファイルを解凍すると、「perlscript.pl」と「perlscript.pm」のファイルができます。
これらのファイルを、以下のようにアップロードします。なお、「PerlScript」「lib」「bradchoate」の各ディレクトリは、あらかじめ手動で作成しておきます。

MTのディレクトリ
└ pluginsディレクトリ
 └ PerlScriptディレクトリ
   ├ libディレクトリ
   │ └ bradchoateディレクトリ
   │   └ perlscript.pm
   └ perlscript.pl

2.PerlScriptプラグインの使い方

PerlScriptプラグインをインストールすると、<MTPerlScript>~</MTPerlScript>のブロックに、Perlのスクリプトを書くことができます。
そのスクリプトは、テンプレートを再構築すると実行されます。
また、Perlでは画面に何かを出力する際に「print」という命令を使いますが、MTPerlScriptタグのブロックにprint文を書くと、その出力はテンプレートの出力先ファイルに保存されます。

3.PerlScriptプラグイン版「Hello, world!」

プログラム言語を学ぶ上で、「画面に『Hello, world!』と出力する」という例題は、避けて通ることができません(笑)。
そこで、PerlScript版の「Hello, world!」を紹介します。

前述したように、MTPerlScriptタグのブロックの中でprint命令を使うと、その出力がテンプレートの出力ファイルに保存されます。
したがって、Webブラウザでその出力ファイルにアクセスすれば、プログラムの実行結果を見ることができます。

PerlScriptプラグインを使って「Hello, world!」と出力するテンプレートは、以下のリストのようになります。
インデックステンプレートを新規作成し、出力ファイル名を「perlscript.html」にして、このリストを入力します。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Hello, World!</title>
    <meta http-equiv="Content-Type" content="text/html; charset=<$mt:PublishCharset$>" />
</head>
<body>
<p>
<MTPerlScript>
print "Hello, world!";
</MTPerlScript>
</p>
</body>
</html>

上記のインデックステンプレートのサンプルをダウンロード

できあがったテンプレートを再構築して、Webブラウザでその出力ファイルにアクセスすると、以下の画面のように「Hello, world!」と表示されます。

PerlScriptプラグインで「Hello, world」を出力した結果