FileBaseName

File::Basenameは標準モジュールで、basename関数でスクリプト名を取得可。

use strict;
use File::Basename;
use TmpKotaro;

print "$0\n";
print basename($0)."\n";
print TmpKotaro::test()."\n";

特殊変数$0にはあくまで実行しているスクリプト名が入る(≠モジュール名)

TmpKotaro.pmは単に出力するだけ。

package TmpKotaro;
use strict;
use File::Basename;

sub test {
   return basename($0);
}
1;