WindowsApache 2.2 にて CGI を用いようとした場合、perl のパスには、
#!c:/cygwin/bin/perl (→ cygwinperl を利用)
のように、Windows 用のパスを指定しなければならず、
#!/usr/bin/perl
のように、UNIX系のパスを指定して CGI を書いている場合、このパスを書き換えて設置する必要があった。

この置き換えの作業用のスクリプトか何かを書いておけば簡単に CGI の移行等も行えるのだろうけど、もっと簡単に、Windows 版の Apache の設定で UNIX パスが使えないか探していた。。

一番最初に試したのが、httpd.conf に書かれている ScriptAlias で、
/usr/bin/ を c:/cygwin/bin/
と置き換えられないか。どうか。

これは、無理でした。


ので、他に方法はないかと考えつつ、スクリプトを書くのは面倒くさいと思っていたので、パスの指定に、
#!perl
として、Windows 側は perl へのパスを環境変数の %PATH% に登録。
これは、Windows 側では動作しても、UNIX 側で上手く動作してくれない。


またまた、ので、最終的には諦めかけつつも、何かないかなと考えていたら、以下のような方法で解決に至った。
パスは UNIX 系の
#!/usr/bin/perl
を使用し、Windows において、
c:/usr/bin/
ディレクトリを作成。
c:/cygwin/bin/perl.exe
を上記ディレクトリにコピー。

と、これだけ。WindowsApache が c:/ を / として認識しているのかどうか?? いまいち納得のいかないながらもこれで解決。perlCGIUNIXWindows で同じく使えるようになりました。