ローカルサブとrequireサブで、同名サブルーチンは、どちらが優先か?
結論から言うとrequireサブが優先されます。
追記:
package宣言なしのrequireサブを読み込むと、ローカルサブと同じくmainパッケージとなり、単に先に宣言されたサブの方が優先されただけでした。
テストプロ(test.pl)
use strict; require 'sub.pl'; &aaa(); sub aaa { print "---ローカルサブ---\n"; }
requireサブ(sub.pl)
use strict; sub aaa { print "---requireサブ---\n"; } 1;
実行結果
$ test.pl ---requireサブ---