>>526
>どうしてパッケージ名なしで呼べるのでしょうか?

モジュールがuseされた時にデフォルトのパッケージ関数が
呼び出し側にエクスポートされるようにモジュール側で記述されているから
呼び出し側でモジュールをuseするとパッケージ関数がインポートされて
パッケージ名を明示しなくても関数が使用できるようになる。

下のは正式なエクスポート方法ではないけど、エクスポートの真似事ができる。
実行するとtestサブルーチンが定義されてないとのエラーメッセージがでるが
コメントマークを外すとTESTパッケージのtest関数が実行できる。

package TEST;

#$main::{test} = \&test;

sub test{
print @_;
}

package main;

test(1,2,3);