• ベストアンサー

ワーニング? encoding.pm

perlで以下のようなエラーが出るのですが、これを出ないようにするにはどうしたらよいのでしょうか? Constant subroutine DEBUG redefined at c:/usr/lib/encoding.pm line 8. Subroutine _exception redefined at c:/usr/lib/encoding.pm line 23. Subroutine in_locale redefined at c:/usr/lib/encoding.pm line 34. Subroutine _get_locale_encoding redefined at c:/usr/lib/encoding.pm line 36. Subroutine import redefined at c:/usr/lib/encoding.pm line 89. Subroutine unimport redefined at c:/usr/lib/encoding.pm line 156.

  • Perl
  • 回答数3
  • ありがとう数0

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

  • ベストアンサー
回答No.3

Windowsですとcase insensitive なので、 "use Encoding" などと、大文字と小文字を間違えるとこうなるかもしれませんねえ。

その他の回答 (2)

  • kabaokaba
  • ベストアンサー率51% (724/1416)
回答No.2

エラーが出る「最小のサンプル」がない限り 誰も検証できません. そもそも,Perlのバージョンすら書かれてなければ OSとかも不明だし. #OSはおそらくWindowsだろうが,ActivePerl? #けどActivePerlにしてはlibのパスが普通ではない なお,正しく encodingモジュールを使ってれば 仮に複数回読み込もうとしても, 同じモジュールを重複して読むことはありません.

noname#246547
noname#246547
回答No.1

perlは使ったことが無いので保証できませんが、 DEBUGという関数が2重定義されているようです。 encoding.pmファイルを2回以上インクルードしていませんか?

関連するQ&A

  • perl2exeでuse encodingが使えない

    下記のようなスクリプトを作成しました。 スクリプト名は test_kanji.pl ---------------- use encoding("shift-jis"); print "表現\n"; ----------------- 上記を実行すると、正しく”表現”の文字が表示されます。 これをperl2exeで実行形式に変換すると 下記のエラーが表示され、期待した結果が得られません。 Converting 'test_kanji.pl' to test_kanji.exe Warning: Can't locate I18N/Langinfo.pm at C:\Perl\lib\encoding.pm line 41 @INC = c:\perl\userlib, C:\Perl\lib, C:\Perl\site\lib, . 又、強引にtest_kanji.exeを実行すると encoding: Unknown encoding 'shift-jis' at C:\Perl\userlib\test_kanji.exe line 1 BEGIN failed--compilation aborted at C:\Perl\userlib\test_kanji.exe line 1. のようなメッセージが表示され、”表現”が表示されません。 perl2exeでuse encodingは使用できないのでしょうか。

  • Jcode.pmについて

    ネット上からダウンロードしてきたCGIプログラム内で、Jcode.pmを使用しているようなのですが、サーバ にUpしたところ、以下の様なエラーが表示されました。 ※1 Can't locate Jcode.pm in @INC (@INC contains: /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl .) at access/accview.cgi line 68. ※2 BEGIN failed--compilation aborted at access/accview.cgi line 68. ちなみに、accview.cgi line 68には use Jcode; と書かれていました。 エラーの原因として、何がありますか? また、その解決法を教えていただきたいです。

    • ベストアンサー
    • Perl
  • エラー内容がわかりません。Constant subroutine ~ undefined at ~

    CentOS 5.2, Perl 5.8.9の環境で Perlスクリプトを実行すると、以下のようなエラーが表示されます。 [Thu Jan 29 16:54:59 2009] [error] [client 192.168.112.191] Constant subroutine __USE_POSIX undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 8. [Thu Jan 29 16:54:59 2009] [error] [client 192.168.112.191] Constant subroutine __USE_POSIX2 undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 9. [Thu Jan 29 16:54:59 2009] [error] [client 192.168.112.191] Constant subroutine __USE_POSIX199309 undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 10. [Thu Jan 29 16:54:59 2009] [error] [client 192.168.112.191] ………… インターネットを調べたりしたのですが、なかなか有用な情報が得られませんでした。 strictプラグマが出しているようなのですが、理由がつかめません。 試しにCentOS 4.6で実行してみたところ何もエラーが表示されませんでした。 よろしくお願いいたします。

  • Can't locate R.pm in @INC

    perl初心者でまた質問させていただきます。 CGIを作っているのですが、R.PMが使えなくて困っています。 USE R; とすると、以下のようなエラーが出てしまいます。 Can't locate R.pm in @INC (@INC contains: /usr/lib/perl5/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl .) at /srv/www/htdocs/cgi/ringo.cgi line 5. BEGIN failed--compilation aborted at /srv/www/htdocs/cgi/ringo.cgi line 5. Premature end of script headers: ringo.cgi そこで、 locate R.pm で、場所を探しました。 /usr/lib/perl5/5.10.0/x86_64-linux-thread-multi/R.pm ということで、 use R '/usr/lib/perl5/5.10.0/x86_64-linux-thread-multi/'; このように変えてみたものの、同じエラーです。ちなみに、CGIではなく、PERLのプログラムからだと、use R;で動作することは確認しました。 よろしくお願いします。

    • 締切済み
    • CGI
  • ムーバブルタイプ3.2のBerkeleyDB⇒SQLへの移行について

    現在ロリポップでムーバブルタイプ3.2で新規にblogを作りました。 データ形式をはじめはBerkeleyDBで使用していたのですがSQLへ移行を行ないたいと思い以下のものを利用してみたのですが以下のエラーがでます。 http://as-is.net/wiki/MT_Database_Converter/ja mt-db-convert.cgi($Rev: 173 $): Converting your MT data between DB engines (for MT 3.2) **** WARNING: Subroutine Jcode::ucs2_euc redefined at extlib/Jcode/Unicode/NoXS.pm line 56. **** WARNING: Subroutine Jcode::euc_ucs2 redefined at extlib/Jcode/Unicode/NoXS.pm line 71. **** WARNING: Subroutine Jcode::euc_utf8 redefined at extlib/Jcode/Unicode/NoXS.pm line 87. **** WARNING: Subroutine Jcode::utf8_euc redefined at extlib/Jcode/Unicode/NoXS.pm line 94. **** WARNING: Subroutine Jcode::ucs2_utf8 redefined at extlib/Jcode/Unicode/NoXS.pm line 101. **** WARNING: Subroutine Jcode::utf8_ucs2 redefined at extlib/Jcode/Unicode/NoXS.pm line 124. どのような設定をすればSQLに移行できるのでしょうか?

  • utf-8コードの指定

    以下のURLにて同じ質問をしました。 http://soudan1.biglobe.ne.jp/qa4938782.html その時は解決したと思ったのですが、私の勘違いでした。 Undefined subroutine &main::Jcode called at listpage.pl line 220, line 855. というエラーからして、 $value = Jcode($value)->utf8; という記述そのものの問題ではなく、jcode.pmが認識されていないということなのでしょう。 でもプログラムの最初には use Jcode; としてあるし、パスが通っていないことも考えて#!(何と呼ぶんだったっけ?)も #!/usr/bin/perl -I /usr/lib としました。perl.exeをd:\usr\bin/に置いて /usr/bin/perl で良いなら、jcode.pmはd:\usr/libにあるからパスはこれで良いですよね!? ちなみにこのディレクトリにはcgi.pmも置いていますが、cgi.pmは普通に動いてます。 何が問題だと考えられますか? お手数をお掛けします。

  • Mod_perl2.0が導入出来ない (ARP.dllに欠陥があるのでは)

    1586の者ですが、そこで具体的な回答を戴ける見込みが難しくなり、でもどうしても Mod_perl2.0を導入しないと自分の仕事が凍結してしまいますので、くどいかも しれませんが改めてサポートお願いさせていただきます。 その後、Mod_perl2.0をインストールし直してPerlでextra.plを以下URLの通りの内容で http://perl.apache.org/docs/2.0/os/win32/config.html 実行した所、今度こそうまく行って欲しいと思う願いも空しく、今度は以下別のエラー につまづきました。アパッチで起動しても閉じてしまいます。 C:\Apache2\conf>perl extra.pl Can't load 'C:/usr/local/site/lib/auto/APR/APR.dll' for module APR: load_file:こ のアプリケーションの実行に必要なライブラリ ファイルの 1 つが見つかりません。 at C:/usr/local/lib/DynaLoader.pm line 230. at C:/usr/local/site/lib/APR/Const.pm line 18 Compilation failed in require at C:/usr/local/site/lib/APR/Const.pm line 18. BEGIN failed--compilation aborted at C:/usr/local/site/lib/APR/Const.pm line 18. Compilation failed in require at extra.pl line 10. BEGIN failed--compilation aborted at extra.pl line 10. C:/usr/local/site/lib/auto/APR/APR.dllは有るにも関わらずロード出来ないんです。 正直、APR.dllにどこか欠陥があるのではしか感じられない状態です。 どうして、マニュアル通りに行ってもMod_perl2.0のセッティングが滞ってしまうのでしょうか? この通りです、Mod_perl2.0は自分の仕事に必要不可欠です。これがなければ食って行けません! どうかご回答宜しくお願いします。

    • ベストアンサー
    • Perl
  • DBIをCPANからインストール時にエラーが発生します??

    DBIモジュールを、CPANからインストールしたところ、 以下の様な■エラーコード:35 ■が発生します。 これは、何が原因なのでしょうか? それとも、これで正常にインストールされているのでしょうか? 対処法をお願い致します。 メッセージ)※一部、割愛 .............Can't locate Storable.pm in @INC (@INC contains: blib/arch blib/lib /usr/local/lib/perl5/5.6.1/i386-freebsd /usr/local/lib/perl5/5.6.1 /usr/local/lib/perl5/site_perl/5.6.1/i386-freebsd /usr/local/lib/perl5/site_perl/5.6.1 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.00503 /usr/local/lib/site_perl .) at t/11fetch.t line 8. BEGIN failed--compilation aborted at t/11fetch.t line 8. Can't locate Storable.pm in @INC (@INC contains: blib/arch blib/lib /usr/local/lib/perl5/5.6.1/i386-freebsd /usr/local/lib/perl5/5.6.1 /usr/local/lib/perl5/site_perl/5.6.1/i386-freebsd /usr/local/lib/perl5/site_perl/5.6.1 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.00503 /usr/local/lib/site_perl .) at t/11fetch.t line 8. BEGIN failed--compilation aborted at t/11fetch.t line 8. ...propagated at t/zvpp_11fetch.t line 4. ***■ Error code 35 ■ Stop in /.cpan/build/DBI-1.48. /usr/bin/make test -- NOT OK Running make install make test had returned bad status, won't install without force cpan>

    • ベストアンサー
    • Perl
  • 解決法が見つかりません。

    フォームで入力した内容を担当者宛てにメールを送るプログラムを作っています。 以下のエラー文が出ました。 Can't locate Jcode/_Classic.pm in @INC (@INC contains: /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 .) at Jcode.pm line 40. 何となく、「Jcode/_Classic.pm」が見つからない事は解るのですが、コレが何なのか、どこに何をどうすればいいのか全くわかりません。

    • ベストアンサー
    • Perl
  • エラーログについてお尋ねしたいことがあるのですが。

    エラーログについてお尋ねしたいことがあるのですが。 CGIがうまく接続されずサーバー上で500エラーになるためサーバー管理者に尋ねたところエラーログに以下のようにKihon.pmが見つからない模様です。という返事が返ってきましたがCGIは詳しくないため、この内容が理解できずに困っています。 また、このような場合の回避策などがあればご指導願いたいと思っています。 Can't locate Kihon.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at kanri.cgi line 16. BEGIN failed--compilation aborted at kanri.cgi line 16.

    • ベストアンサー
    • CGI

専門家に質問してみよう