>>26, >>27
蛇足ですが、caller はサブルーチン呼び出し 1 段以上経てないと機能しませんから!
package foo;
sub bar {
 my ($package, $filename, $line) = caller;
 print "$package, $filename, $line\n";
}
bar();
print "$0\n"; # ついで