• 締切済み

オープンソースの投票管理システム

オープンソースの投票管理システム このプログラムを使用したことある方いらっしゃいますか? http://plus-code.net/cgi-flash-enquete/web_enquete01/ 解説通りに設定しているのですが、こんなエラーメッセージが出てしまいます。 Software error: Global symbol "$ref_array_hash" requires explicit package name at perl/Cf/Part/Enquete.pm line 870. Global symbol "$ref_array_hash" requires explicit package name at perl/Cf/Part/Enquete.pm line 871. Compilation failed in require at index.cgi line 17. BEGIN failed--compilation aborted at index.cgi line 17. 見てもさっぱり何ですが、これはつまりプログラム自体に問題があるということでいいんでしょうか。。それならそれで諦めもつくのですが‥

  • CGI
  • 回答数1
  • ありがとう数3

みんなの回答

  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.1

問題があるといえばあるのですが このファイル「./perl/Cf/Part/Enquete.pm」の 「use strict;」を「# use strict;」のようにコメントアウトすればいいのですが 該当行でそのサブルーチン内で「$ref_array_hash」という変数の定義位置がおかしいためかもしれません。 875行目から3行の変数定義部分を869行より手前に移動してみてはどうでしょうか 上記どちらかで動作試験をしてみてはどうでしょう?

関連するQ&A

  • CGIの設置について

    設置後にCGIページを開くと下記の様に表示されてしまいCGIが起動しません。 Software error: Global symbol "$ref_array_hash" requires explicit package name at perl/Cf/Part/Enquete.pm line 870. Global symbol "$ref_array_hash" requires explicit package name at perl/Cf/Part/Enquete.pm line 871. Compilation failed in require at index.cgi line 17. BEGIN failed--compilation aborted at index.cgi line 17. perl/Cf/Part/Enquete.pmの部分は 870|for (my $j=0;$j<scalar(@$ref_array_hash);$j++) { 871| $flag = @$ref_array_hash->[$j]{d_times}; です。 index.cgi line 17.の部分は 17|use Cf::Part::Enquete; と記載されております。 どの部分を訂正すれば動くのでしょうか?

    • 締切済み
    • CGI
  • useとrequireでエラー

    初歩的な質問で失礼いたします。 下記の記述でプログラムを実行すると正常にプログラムが動きます。(省略以降は全く同一のプログラムです) ■実行問題なし1 #!/usr/local/bin/perl require 'cgi-lib.pl'; require 'jcode.pl'; --------省略--------------- ■実行問題なし2 #!/usr/local/bin/perl use strict; use DBI; --------省略--------------- しかし、下記の記述だとエラーが発生していまいます。 #!/usr/local/bin/perl use strict; use DBI; require 'cgi-lib.pl'; require 'jcode.pl'; --------省略--------------- エラーログは、下記の通りです。 Global symbol "$in" requires explicit package name at search.cgi line 21. Global symbol "$parameter" requires explicit package name at search.cgi line 23. Global symbol "$name" requires explicit package name at search.cgi line 23. Execution of search.cgi aborted due to compilation errors. requireとuseは同時に記述してはいけないのでしょうか? 同時に記述しないと目的のプログラムを実現する方法が大きく変わってきてしまうので、非常に困ってしまいます。 もし、ご存知の方がいらっしゃったら教えてください。 宜しくお願い致します。

  • use strict;

    Global symbol "@exec_test_list" requires explicit package name at ./ctest.pl line 384. Global symbol "@exec_test_no" requires explicit package name at ./ctest.pl line 384. Global symbol "@protocol_list" requires explicit package name at ./ctest.pl line 397. Global symbol "@protocol_list" requires explicit package name at ./ctest.pl line 406. Global symbol "$name" requires explicit package name at ./ctest.pl line 413. use strict;を書くと以上のようなエラーメッセージが 出力されます。どうしたら、以上のようなエラーを 回避できるでしょうか?教えてください。

    • ベストアンサー
    • Perl
  • MT4.1のシステムメニューファイルを誤って書き換えてしまいました

    プラグインをいじっていたら、mt.cgiにログインしようとすると 「Got an error: Base class package "Class::Accessor::Fast" is empty. (Perhaps you need to 'use' the module which defines that package first.) at lib/MT/Component.pm line 10 BEGIN failed--compilation aborted at lib/MT/Component.pm line 10. Compilation failed in require at (eval 10) line 3. ...propagated at /usr/lib/perl5/5.8.8/base.pm line 85. BEGIN failed--compilation aborted at lib/MT/Core.pm line 5. Compilation failed in require at lib/MT.pm line 954.」 (数字部分は違います) のようなメッセージが出たのでとりあえず分からず 以前バックアップ取っていたcgi/mtフォルダを全て上書きしました。 するとエラーは回避されまた問題なくログイン出来るように なりましたが、システムメニューや記事一覧やフォルダまで バックアップの日時での表示になってしまいました。 せめて記事一覧とフォルダだけはトラブル直前の状態に 戻したいのですが、どういったファイルに相当するのか ご存知の方ご教授御願いします。「mt/extlib」のフォルダの中とかが あやしいな。。とは思っているのですが。。 また、普通はcgi/mtの下にextlibというフォルダがあるこものなのでしょうか? トラブル直後のmt下を見るとextlibというフォルダがなかったもので。。 不慣れなもので意味が不明なことを言っていましたら申し訳ありません。

  • Movable Typeのインストールについて

    Movable TypeをWebサーバーに入れ、Movable Typeシステム・チェック [mt-check.cgi]画面でMovable Typeに必要なコンポネントがサーバーに入っていることをチェックしてOKでした。 そしてmt/index.htmlよりインストールを行おうとしたのですが、 Got an error: Unsupported driver MT::ObjectDriver::DBM: Can't locate DB_File.pm in @INC (@INC contains: C:\***\cgi-bin\mt\extlib lib C:/Perl/lib C:/Perl/site/lib .) at lib/MT/ObjectDriver/DBM.pm line 10. BEGIN failed--compilation aborted at lib/MT/ObjectDriver/DBM.pm line 10. Compilation failed in require at (eval 6) line 1. BEGIN failed--compilation aborted at (eval 6) line 1. とエラーが出てしまいます。mt-config.cgiの設定が間違っているのでしょうか? どなたか教えてください。よろしくお願いします。

  • Net::SSH::Perlについて

    WindowsXPにActivePerlを導入し、Net::SSH::Perlを使用してLinuxサーバにssh接続をしたいのですが、どうもうまく動いてくれません。 ■ソース #!perl use Net::SSH::Perl; use strict; my $host = "192.168.1.250"; my $user = "test"; my $pass = "testtest"; my $cmd = "id"; my $ssh = Net::SSH::Perl->new($host); $ssh->login($user, $pass); my($stdout, $stderr, $exit) = $ssh->cmd($cmd); ■Windowsのコマンドプロンプトから実行すると Can't locate Math/Pari.pm in @INC (@INC contains: D:/add_program_files/perl/site/lib D:/add_program_files/perl/lib .) at D:/add_program_files/perl/lib/Net/SSH/Perl/Util/SSH2MP.pm line 6, <GEN0> line 1. BEGIN failed--compilation aborted at D:/add_program_files/perl/lib/Net/SSH/Perl/Util/SSH2MP.pm line 6, <GEN0> line 1. Compilation failed in require at D:/add_program_files/perl/lib/Net/SSH/Perl/Util.pm line 56, <GEN0> line 1. BEGIN failed--compilation aborted at D:/add_program_files/perl/lib/Net/SSH/Perl/Kex/DH1.pm line 10, <GEN0> line 1. Compilation failed in require at D:/add_program_files/perl/lib/Net/SSH/Perl/Kex.pm line 6, <GEN0> line 1. BEGIN failed--compilation aborted at D:/add_program_files/perl/lib/Net/SSH/Perl/Kex.pm line 6, <GEN0> line 1. Compilation failed in require at D:/add_program_files/perl/lib/Net/SSH/Perl/SSH2.pm line 6, <GEN0> line 1. BEGIN failed--compilation aborted at D:/add_program_files/perl/lib/Net/SSH/Perl/SSH2.pm line 6, <GEN0> line 1. Compilation failed in require at D:/add_program_files/perl/lib/Net/SSH/Perl.pm line 52, <GEN0> line 1. 上記を解決しようにも検索にHitせず、対処に困っています。 どなたか同じ境遇の人がいらっしゃったら教えてください。

  • DBDエラー

    いつも、参考にしております。 Oracleの接続で困ってます。 環境: Windows 2003 Sever DB     :Oracle 10g トライアル版 ActivePerl : V5.8.9 Webサーバ :IISv6.0 CGIのDBIを使って、接続しようとすると 構文チェックで、下記のエラーが発生しております。 Perl lib version (v5.8.3) doesn't match executable version (v5.8.9) at C:\oracle\product\10.2.0\db_1\perl\5.8.3\lib/MSWi n32-x86-multi-thread/Config.pm line 32. Compilation failed in require at C:\oracle\product\10.2.0\db_1\perl\5.8.3\lib/MSWin32-x86-multi-thread/DynaLoader.pm lin e 25. BEGIN failed--compilation aborted at C:\oracle\product\10.2.0\db_1\perl\5.8.3\lib/MSWin32-x86-multi-thread/DynaLoader.pm line 25. Compilation failed in require at C:\oracle\product\10.2.0\db_1\perl\site\5.8.3\lib/MSWin32-x86-multi-thread/DBI.pm line 156. BEGIN failed--compilation aborted at C:\oracle\product\10.2.0\db_1\perl\site\5.8.3\lib/MSWin32-x86-multi-thread/DBI.pm l ine 156. Compilation failed in require at CmFunc.pm line 13. BEGIN failed--compilation aborted at CmFunc.pm line 13. 以上です。ご教授お願い致します。

  • 外部ファイルの関数を使うには?

    phpで include_once('okok'); なら、そこで定義した関数や変数は使えるのですが、 perlで require "dame.pl"; として、dame.plで定義した変数を使おうとすると、 Global symbol "%hash_hensuu" requires explicit package name at test.pl line 16. となります。 パッケージや変数の輸出?など片言の言葉が思い浮かぶのですが、実際どのように書けば、外部ファイルの関数を使えるようになるのでしょうか?

    • ベストアンサー
    • Perl
  • 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
  • perlを初めて使うのですが、ppmを使ってのインストールができません

    このたび初めてperlを使うのですが、コマンドプロンプトを起動し、ppmと打つと C:\Documents and Settings\自分の名前>ppm Fatal error: couldn't find or create config file targets.cfg: Cannot chdir back to C:/Documents and Settings/自分の名前: No such file or directory at C:/Perl/lib/ FindBin.pm line 182 BEGIN failed--compilation aborted at C:/Perl/lib/FindBin.pm line 188. Compilation failed in require at C:/Perl/site/lib/PPM/Config.pm line 444. BEGIN failed--compilation aborted at C:/Perl/site/lib/PPM/UI.pm line 1049. Compilation failed in require at C:\Perl\bin\ppm3-bin line 16. このような文章がでてきてしまい、インストールすることができませんでした。自分がインストールしようとしているのは install time-hires install io-zlib install win32-api install http-lite install getopt-long なのですが・・・ 自分なりにサイトを見てまわりましたが、確信にたどり着けず困り果てています。 どなたかご教授をお願いします。 PCの環境 OS: Windows XP Home Edition Perl: Active Perl 5.8.3.809 PPM : version 3.1