A_single_file_wiki_wifky2.png

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:] しか使用していなかったので、以下の様に対応しました。
    1. [[:alpha:]] → [A-Za-z]
    2. [[:xdigit:]] → [0-9A-Fa-f]

使える文法

|

Designed for @nifty.