PerlIS for Win32 Perl初心者の部屋
hip communications inc.

PerlIS.dll


PerlISとはどんなものなのですか?

PerlISは(かつてGibraltarというコードネームだった)Microsoft Internet Information Server用の高性能perlインタープリタです。 Microsoft Internet Information ServerはISAPIと呼ばれるAPIを使用します。 PerlIS.dllは効率を改善するため、このAPIを使用しています。 Microsoft IISはリクエスト毎にシングルスレッドを使用します。ですから、 リクエストが使用するリソースが少なければ少ないほどかかる時間も少なくなります。

  • PerlISをどうやって入手、インストールすればいいのですか?
    PerlIS は99/2現在 Perl5.005ベースのバイナリーディストリビューション ActivePerlに同梱されています。ActivePerlは、 ActivePerl downloadからダウンロードできます。
    [訳注: Perl for Win32ビルド110配布ファイルにはファイナルリリース版が標準として 同梱されています。また、単体としては公開されていないようで、 上記サーバにはありません。]

    また、Perlの互換版をダウンロードする必要があります。 PerlISと同じftpディレクトリにあります。インストールするには:

    1. (必要なら)ビルドし、正しいperlのバージョンをインストールします。 (ビルドナンバはPerlISのと合致しているべきです。)[訳注:同梱されて いるものを使用する限りこのコメントは無用でしょう。]
    2. 暫定ディレクトリにPerlIS.zip配布ファイルをunzip(展開/解凍)します。 [訳注:同梱されているものはzipファイルではないので、 このコメントも無用でしょう。]
    3. コマンドプロンプトからPerlISに同梱されているinstall.batを実行します。 PerlISを拡張子(デフォルトは.pl)と関係付けるかプロンプトが聞いてきます。
      [訳注:96/11現在のビルド110配布ファイルに付属のinstall.batを実行すると
      
      This install script assumes that you have unpacked 
      Perl for Win32 into the final intended destination 
      directory. It will copy the executable and batch files
      into a separate directory, but all documentation and 
      libraries remain where they currently are. 
      Do you wish to proceed? [Y/n]
      
      というメッセージが出てきます。Y(リターンキーのみも可)と答えると
      処理が続き、
      
      print "Modify search path? [Y/n]";
      
      とか聞いてきます。問題が発生せず、MS-IISが未導入の場合
      
      No Microsoft Internet Information Server Installed
      Continue to install PerlIS.dll? [Y/n]
      
      と聞いてきます。
      MS-IISでなければ、特にPerlISを使う必要はありません。
      Yとすると、
      
      Please choose a file extension to associate with PerlIS.dll.
      Extension:
      
      と聞いてきますので、関連づけを行います。
      
      #ちゃんとインストールされたかどうか不安な人は、.\nttの test.batを走らせてみましょう。まず、コマンドプロンプト(DOS窓)を開き、 \perl5\nttにディレクトリを移動して、testと入力してみてください。(^^
      ちなみに私のWin95環境では、io\dupとop\execがFailedでした。 NTだけで機能するものはWin95ではサポートされないとか 機能しないとかのメッセージが返ってきます。 ]

  • PerlISを使ってCGIスクリプトを実行するにはどうしたらいいのですか?
    Microsoftの Internet Information Serverのリリースバージョンは 関連づけをサポートしています。 インストール手続きの間何もエラーがなければ、perl CGIスクリプトを実行する のに必要なことは、URLでそれを直接参照することです。
    インストール中に関連づけをするのに.plxという拡張子を選んだ場合    

    http://www.myhost.com/cgi-bin/myscript.plx

    また、PerlIS.dllはGET Query_Stringのようにスクリプト名と一緒にURLの中で 直接参照されることが可能です。このメソッドのこういう使いかたには 強く反対します。

    [訳注:IISはURLで参照するCGIスクリプトのお尻に?マークを つけないとうまくいかないことがあるようです。詳細は MS IIS(Internet Information Server)でのCGI のQ3・Q4を参照して下さい。]

  • PerlISはエラーを同処理するのですか?
    ローディング後PerlISが初めて出くわすエラーは、サーバのイベントログに 加えられるエントリを発生させます。 このエントリはそれから起こるいろいろなエラーを入れておくテキストファイルを 指し示します。 STDERR(標準出力)へのあらゆる出力もこのログファイルに書き込まれます。 このファイルは一般的にはPerlIS.dllと同じデェレクトリに保管されます。

  • PerlISでは何が機能しないのですか?
    PerlISによって実行されるperlスクリプトはMS Internet Information Serverと 同じプロセス空間で実行されますので、PerlISの中で破壊される幾つかの プロセス関連callがあります。
    以下が現在のリストです;

  • バグを見つけたと思った場合どうすればいいのですか?
    これがベータバージョン[訳注:既に正式版の筈]であることを覚えておいて下さい。 バグが未サポートのperl機能やwebサーバの設定エラー等に関連していないことを 確認してください。 それから上記の壊れてしまうperlの特色の一覧を確認します。 まだ本物のバグがあると思う場合は、perl-win32ホームページからそれを レポートすることができます。 バグレポートフォームの全フィールドに記入したことを確認して下さい。