В перловых скриптах (во всяком случае, в тех, что запущены в юниксоподобных системах) определить, запущены ли они из-под отладчика, достаточно просто — надо проверить, существует ли переменная окружения PERLDB_PIDS
:
my $DEBUG = exists $ENV{PERLDB_PIDS};
Однако в отладчике, встроенном в Komodo IDE 8.5, такой способ не работает — вместо PERLDB_PIDS
устанавливается другая переменная PERL5DB
со значением, например, BEGIN { require '/opt/komodo/lib/support/dbgp/perllib/perl5db.pl' }
. А в штатном отладчике переменной PERL5DB
нет. Значит, надо проверять обе:
my $DEBUG
= exists $ENV{PERLDB_PIDS}
|| exists $ENV{PERL5DB};
update/20.11.2014: И снова товарищи подсказывают — есть переменная $^P
. Проверил — работает везде.