読者です 読者をやめる 読者になる 読者になる

aokcub::Blog

/PIC|dsPIC|Perl|Terragen3|風景CG|CSS3/

昔のCGIを動かしたいときの

Perl

メモ。

Niigata.LL用に過去に書いたCGIをPlack::CGI::WrapCGIで動かしたくて、

$ cpanm Plack その他いろいろ

psgiかいて(参考

# app.psgi
use Plack::Builder;
use Plack::App::WrapCGI;
use Plack::App::File;

builder {
    mount "/cgi_bschlib/index.cgi" => Plack::App::WrapCGI->new(script => './cgi_bschlib/index.cgi', execute => 1)->to_app;
};

じっこう

$ plackup -r
HTTP::Server::PSGI: Accepting connections at http://0:5000/
Can't locate URI/Escape.pm in @INC (@INC contains:/etc/perl/usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2/usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /home/taka/pl/cgi_bschlib/index.cgi line 5.
BEGIN failed--compilation aborted at /home/taka/pl/cgi_bschlib/index.cgi line 5.

おおう? モジュールがないって言われてるけど、@INCがシステムPerlの5.14.2のほうになってる。 実行(したい)環境はplenvで入れた5.16.4。

なんでー?

ってちょっと悩んでたけど

動かしたいCGIのshebang

#!/usr/bin/perl

のままでした。

#!/usr/bin/env perl

にする。

疑問

本当に書き換える必要あったのだろうか...

いじょう。