アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (2件)

use strict;


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

my $name;


my @protocol_list;

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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!