日本語プログラム言語「ひまわり」
日本語で記述するインタープリター型のプログラミング言語
これ見て、Filter::Pyuutaを思い出した。
と思ったら、メンテナがいつの間にか変わってるしー。
MovableTypeの日本語化パッチも、徹底的に日本語化するという意味を込めてこのモジュールを使うべきか?冗談だけど。
試しにmt.cgiをFilter::Pyuutaを使用して書き換えてみる。
未実装の関数は適当に考えた。
気に入ったのがあったら、採用してー。
use strict;
my($MT_DIR);
BEGIN {
if ($0 =~ m!(.*[/\\])!) {
$MT_DIR = $1;
} else {
$MT_DIR = './';
}
unshift @INC, $MT_DIR . 'lib';
unshift @INC, $MT_DIR . 'extlib';
}
eval {
require MT::App::CMS;
my $app = MT::App::CMS->new( Config => $MT_DIR . 'mt.cfg',
Directory => $MT_DIR )
or die MT::App::CMS->errstr;
local $SIG{__WARN__} = sub { $app->trace($_[0]) };
$app->run;
};
if ($@) {
print "Content-Type: text/html\n\n";
print "Got an error: $@";
}
↓
use Filter::Pyuuta;
使う 厳格;
ここだけの話($MT_DIR);
開始時 {
もし ($0 =~ m!(.*[/\\])!) {
$MT_DIR = $1;
} ではない場合 {
$MT_DIR = './';
}
前から詰める @INC, $MT_DIR . 'lib';
前から詰める @INC, $MT_DIR . 'extlib';
}
実行する {
必要とする MT::App::CMS;
ここだけの話 $app = MT::App::CMS->new( Config => $MT_DIR . 'mt.cfg',
Directory => $MT_DIR )
or 死亡 MT::App::CMS->errstr;
置いといて $SIG{__WARN__} = sub { $app->trace($_[0]) };
$app->run;
};
もし ($@) {
書く "Content-Type: text/html\n\n";
書く "Got an error: $@";
}
これいいですね。
吉野家コピペは嫌いだけどこれはイイ。
コメント