unless caller
хорошо, но более прямая параллель, а также более явная проверка , это:
use English qw<$PROGRAM_NAME>;
if ( $PROGRAM_NAME eq __FILE__ ) {
...
}
Просто подумал, что я поставлю это там.
РЕДАКТИРОВАТЬ
Имейте в виду, что $PROGRAM_NAME
(или '$0
') доступно для записи, так что это не является абсолютным. Но в большинстве случаев - за исключением аварийных или неистовых модулей - это, скорее всего, не изменится, или будет изменено не более локально в другой области.