新しく質問する

use lib qw(./lib);が使えない?

役に立った:0件
  • 質問者:salvohouse
  • 投稿日時:2011/06/02 03:59
  • 困り度:困ってます
  • 友達に紹介
  • ブログに書く
  • 教えて!gooお気に入り

システム名: 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内にありますが、置き場所が悪いのでしょうか?

漠然とした内容で申し訳ございませんが、どのような理由が考えられるのかをお聞かせください。

この質問に回答する
このQ&Aは役に立ちましたか?(役に立った:0件)

回答(3件)

  • 参考になった:0件
  • 回答者:kumoz
  • 回答日時:2011/06/03 14:52

Web サーバによってはファイルの存在するディレクトリとは異なるディレクトリで実行される場合がある、というのを聞いたことがあります。標準モジュールの Cwd を使って、確認してはどうでしょうか。

use Cwd;
$dir = getcwd(); # CGI に $dir を埋め込んで表示してみる

通報する

  • 参考になった:0件
  • 回答者:t-okura
  • 回答日時:2011/06/02 20:21

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);
とします。

通報する

この回答へのお礼

Zip.pm は ./lib/Archive/Zip.pm にあります。

自宅で動作確認する際も、標準の Archive::Zip を削除して行いました。
念には念をと futomi's CGI Cafe さんのサーバーアナライザーをお借りして確認しましたが ./lib/Archive/Zip.pm 以外にモジュールは検出されない環境で問題無く動作しましたので安心していたのですが‥。

  • 参考になった:0件
  • 回答者:Tacosan
  • 回答日時:2011/06/02 12:55

なんとかして「どのようなエラーなのか」を突き止めてください.

通報する

この回答へのお礼

確かにエラーの内容が重要ですよね。

ある公共施設のページ制作をボランティアでおこなっていますが、担当者のプライベートPCでないとサーバにアクセス出来ないという特殊な環境で、30分程度の限られた時間内でリニューアルが完了するように準備を整えて出向いたつもりでしたが想定外のエラーだった為、use lib qw(./lib);とuse Archive::Zip;をコメントアウトする事と、急きょサーバーアナライザーを設置する事を優先してしまい、肝心なエラー内容が‥

次回、内容を確認し、手に負えないようでしたら改めてご教授ください。

  
このQ&Aは役に立ちましたか?(役に立った:0件)

このページのトップへ

Facebook公式ページ

公式Twitter