• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:@INCにrequireされたファイルが無い)

@INCにrequireされたファイルが無い

このQ&Aのポイント
  • 質問中のエラーメッセージを解決するために、BASE64がインストールされているかどうか確認し、check.cgiを実行してパスを調べました。
  • しかし、追加したコードでもエラーが解決せず、BASE64が見つからないというエラーメッセージが表示されます。
  • 解決策の提案やサポートを求めています。

質問者が選んだベストアンサー

  • ベストアンサー
  • kuroizell
  • ベストアンサー率55% (95/170)
回答No.2

use MIME::Base64;としたくないなら、require 'C:/Perl/lib/MIME/Base64.pm'; ついでながら、モジュール「HOGE::Fuga」がインストールされているか確認するなら コマンドラインから > perl -MHOGE::Fuga -e '' エラーが出なければインストールされています。

makoji
質問者

お礼

サイトで見つけたcheck.cgiなるプログラムの中を見ると、そんなに難しいプログラムではないなと思いましたが、これをいちいち組むとなると、やっぱりプログラムって大変ですね。 それがたった一行で解決できるのは魔法のようです。ありがとうございます。

その他の回答 (1)

  • kumoz
  • ベストアンサー率64% (120/185)
回答No.1

> unshift @INC, "C:/Perl/lib/MIME"; 上の文は実行時に処理されるので、コンパイル時に処理される use 文の段階では @INC に追加されていないのでエラーになります。解消するには、いくつかの方法があると思います。 1) use MIME::BASE64; 2) use lib "C:/Perl/lib/MIME"; use BASE64; 3) 他にも PERL5LIB などの環境変数を設定する方法があります。OS やシェルによって設定方法が異なりますが、1度設定すれば自動的に @INC にパスが追加されます。

makoji
質問者

お礼

題意からするとこちらの方がベストアンサーだと思います。 そういえばuseとrequireの違いがあったなと思い出しました。日曜プログラマの悲しさというか。。。 ありがとうございます。