以前にこの質問をしたり、検索して他の人が尋ねたのを見たことがあります。なぜ「Subroutine mySub redefined at ../lib/Common.pm line x」という警告が表示されるのですか? そして、同じコードで sub を 2 回宣言した答えが常に得られます。このテスト パッケージを作成しました。
ファイル全体 ---------------
package MyCommonPkg;
use strict;
sub thisSubroutineIsNotDefinedAnywhereElse{
}
1;
ファイル全体 ---------------
そして、このパッケージを使用する他のパッケージを使用するperlスクリプトからこのパッケージを使用すると、次の警告が表示されます。
サブルーチン ThisSubroutineIsNotDefinedAnywhereElse が ../lib/MyCommonPkg.pm 行 19 で再定義されました。
このサブルーチンを他の場所で宣言していないことを約束します。これは循環参照が原因ですか?この警告の原因を追跡して修正するにはどうすればよいですか?