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プラグインは、以下のページからダウンロードします。
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!」と表示されます。




![Hardcore Will Never Die, But You Will [Disc 2] Hardcore Will Never Die, But You Will [Disc 2]](http://userserve-ak.last.fm/serve/34s/71241534.jpg)
![Hardcore Will Never Die, But You Will [Bonus Tracks] Hardcore Will Never Die, But You Will [Bonus Tracks]](http://userserve-ak.last.fm/serve/34s/67192634.jpg)





コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。
こんばんわ^^
すっごくいい企画ですねっ (●>∀<●) 1 つのカテゴリにして欲しいくらいです。
Perl の分からないとこの質問も受け付けてくれるとすっごく嬉しいかな・・・なんて (; ̄∇ ̄A はは
めっちゃ楽しみにしてます!!
>bzbellさん
こんにちは。
bzbellさんが期待されるほどのレベルまで話が進むかどうか未定ですが(笑)、地味に続けてみたいと思います。