![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
自作のCGIを実行したところ
Can't locate BASE64 in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at g
etHTTP line 71.
のようなエラーが出ます。
BASE64がインストールされているかどうか確認するために、次のサイトのcheck.cgiを実行してみました。
http://perl.shtml.jp/check/check.html
インストールされているということなので、検索を掛けてBase64.pmのパスを調べました。
C:\Perl\lib\MIME
そこで以下のコードを追加して実行しなおしました。
unshift @INC, "C:/Perl/lib/MIME";
残念ながらうまく動きませんでした。
Can't locate BASE64 in @INC (@INC contains: C:/Perl/lib/MIME C:/Perl/site/lib C:
/Perl/lib .) at getHTTP line 71.
どうすれば良いでしょう。
お手数をお掛けします。
No.2ベストアンサー
- 回答日時:
use MIME::Base64;としたくないなら、require 'C:/Perl/lib/MIME/Base64.pm';
ついでながら、モジュール「HOGE::Fuga」がインストールされているか確認するなら
コマンドラインから
> perl -MHOGE::Fuga -e ''
エラーが出なければインストールされています。
サイトで見つけたcheck.cgiなるプログラムの中を見ると、そんなに難しいプログラムではないなと思いましたが、これをいちいち組むとなると、やっぱりプログラムって大変ですね。
それがたった一行で解決できるのは魔法のようです。ありがとうございます。
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 にパスが追加されます。
題意からするとこちらの方がベストアンサーだと思います。
そういえばuseとrequireの違いがあったなと思い出しました。日曜プログラマの悲しさというか。。。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- Ruby 教えてください 2 2023/01/04 17:50
- Perl Windows10においての『Perl』のプログラムについて 1 2022/05/09 16:04
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- その他(プログラミング・Web制作) Pythonで会員サイトの自動ログイン ID Nameがない 1 2022/12/16 02:09
- Perl perlでリテラル値はメモリにどのように格納されているか? 1 2023/01/15 20:45
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- UNIX・Linux AWSのEC2のZabbixユーザーでawscliコマンドが実行できない状態を解決する 1 2022/12/06 22:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Jcode.pmについて
-
python
-
DB_Fileモジュールインストール...
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 『Call』で呼び出す...
-
例外処理のフローチャートの記...
-
ユーザー定義関数に#NAME?が返...
-
VBAでoutlook365が起動しません。
-
VBAで別モジュールへの変数の受...
-
モジュールの最大数はいくつな...
-
ユーザーフォームに最小化・最...
-
VBでグローバル変数を宣言するには
-
'Range'メソッドは失敗しました
-
Excel VBAで、ユーザーフォーム...
-
サブルーチンを認識しません。
-
エクセルVBAでシートモジュール...
-
Excelシート内セル記述の違いに...
-
perl起動方法
-
【vba】フォームに書いてあ...
-
Excel VBA 定義されたプロージ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DB_Fileモジュールインストール...
-
perlのモジュールについて
-
python
-
Perlでモジュールを作りましたが、
-
perlをバージョンUPしたらWebSe...
-
Perl+DBD::Oracleのエラーがわ...
-
SOAP::Liteを利用したい!
-
use lib qw(変数名);は無理?
-
'cgi-lib.pl'などのファイルの...
-
Pg.pmモジュールがロードできない
-
ActivePerlに含まれるモジュール
-
GLIBC_2.4 以上がインストール...
-
Python エクセル読み込み xlrd...
-
DBIをCPANからインストール時に...
-
@INCにrequireされたファイルが...
-
DBI Make error
-
HTML::Embperlが使えない!
-
MeCab(和布蕪)をPerlで使うには
-
perl MeCab 和布蕪 エラー
-
vimのvsplit実行時の挙動に関して
おすすめ情報