• ベストアンサー

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;を書くと以上のようなエラーメッセージが 出力されます。どうしたら、以上のようなエラーを 回避できるでしょうか?教えてください。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

use strict; を使うと、使用する変数は必ず宣言してから使わないといけなくなります。 例えば my $name; #局所変数 our $name; #大域変数 あるいはパッケージ指定変数 $main::name; のようにして扱う必要があります おそらく、変数を宣言しないで使用しているために、そのようなエラーメッセージがでる(宣言しない場合は、パッケージ名による修飾がいるという意味)と思います。

その他の回答 (1)

  • masaboo
  • ベストアンサー率58% (7/12)
回答No.2

my $name; my @protocol_list; などのようにmy宣言すればいいと思います。 しかしstrictではないコードの場合は、 動かなくなる可能性がありますが。 プログラムは現在動いているのですか?

関連するQ&A

専門家に質問してみよう