Designed for @nifty
Designed for @nifty とは
wifky は、nifty の @homepage で動作することを念頭において開発しています。 (当初の配布サイトも @homepage でした)
@homepage は、CGI作者泣かせの環境として有名で、 よく知られている問題だけでも次のようなものがあります。
- 5.005 の Perl しかない。
- ライブラリは、ユーザがインストールしない限り、一切使えない。
- CGI実行サーバとウェブサーバのホスト名が違うため、 CGI と静的HTML で、連携がとりにくい。
これを克服するため、wifky では
- Perl 5.004 までの文法しか使わない。
- ライブラリを使わず、利用したい機能は基本的に自前で用意。
- 全てを動的コンテンツとする。
という方式をとっています。
ただ、Perl 5.004 までの文法というのは、なかなか分からないため、 時折バージョンアップの際、急に @homepage で動かなくなるということもあります。 これはプラグイン開発においても例外ではないため、 以下に、そのあたり、気付いた点を紹介します。
使えない文法
-
qw(…)[ 〜 ]
⇒ (qw(…))[ 〜 ] と、qw の外部を更に括弧で囲むと回避できます。
-
正規表現において \p{classname} および [:classname:]
この問題が顕在化した時には [:alpha:] と [:xdigit:] しか使用していなかったので、以下の様に対応しました。- [[:alpha:]] → [A-Za-z]
- [[:xdigit:]] → [0-9A-Fa-f]
使える文法
- スクリプティング言語資料室(仮) 内の Perl 5.005.03付属のドキュメントの邦訳 で確認すると、ほぼ確実と思われます。
|