- 締切済み
use lib qw(./lib);が使えない?
システム名: Linux リリース: 2.6.9-89.ELsmp バージョン: #1 SMP Mon Apr 20 10:34:33 EDT 2009 Perl バージョン: 5.008005 Archive::Zipがインストールされていないサーバにlibディレクトリを作成して実行したいのですが、実行以前にエラーとなってしまいます。現在、libディレクトリはcgi-bin内にありますが、置き場所が悪いのでしょうか? 漠然とした内容で申し訳ございませんが、どのような理由が考えられるのかをお聞かせください。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- kumoz
- ベストアンサー率64% (120/185)
Web サーバによってはファイルの存在するディレクトリとは異なるディレクトリで実行される場合がある、というのを聞いたことがあります。標準モジュールの Cwd を使って、確認してはどうでしょうか。 use Cwd; $dir = getcwd(); # CGI に $dir を埋め込んで表示してみる
- t-okura
- ベストアンサー率75% (253/335)
use lib qw(./lib); で use Archive::Zip; ができるためには Zip.pm が ./lib/Archive/Zip.pm にインストールされて いないといけません。 まずは Archive::Zip をどのようにしてインストールし、 どこにインストールされているのかを確認してください。 もし、Zip.pm が ./lib/site_perl/5.8.5/Archive/Zip.pm にインストールされているならば、 use lib は use lib qw(./lib/site_perl/5.8.5); とします。
- Tacosan
- ベストアンサー率23% (3656/15482)
なんとかして「どのようなエラーなのか」を突き止めてください.
お礼
確かにエラーの内容が重要ですよね。 ある公共施設のページ制作をボランティアでおこなっていますが、担当者のプライベートPCでないとサーバにアクセス出来ないという特殊な環境で、30分程度の限られた時間内でリニューアルが完了するように準備を整えて出向いたつもりでしたが想定外のエラーだった為、use lib qw(./lib);とuse Archive::Zip;をコメントアウトする事と、急きょサーバーアナライザーを設置する事を優先してしまい、肝心なエラー内容が‥ 次回、内容を確認し、手に負えないようでしたら改めてご教授ください。
お礼
Zip.pm は ./lib/Archive/Zip.pm にあります。 自宅で動作確認する際も、標準の Archive::Zip を削除して行いました。 念には念をと futomi's CGI Cafe さんのサーバーアナライザーをお借りして確認しましたが ./lib/Archive/Zip.pm 以外にモジュールは検出されない環境で問題無く動作しましたので安心していたのですが‥。