Вы не можете использовать $ENV{PERL5DB}
так, как хотите.
- Это должна быть полная команда для загрузки в коде отладчика, например
use Devel::AllSubs
- Проверяется только тогда, когда Perl запускается с голым
-d
переключателем
- Проверяется только при запуске Perl, поскольку Perl должен знать, что он запускает сценарий в отладчике для создания кодов операций, необходимых для входа в отладчик.
Таким образом, чтобы применить отладчик только к части кода, вам необходимо сначала загрузить его с помощью ключа -d, как этот
perl -d:AllSubs script.pl
и затем используйте переменную пакета, чтобы решить, хотите ли вы обрабатывать код или нет. Глядя на название вашего модуля, я предполагаю, что вы пытаетесь что-то сделать с каждой подпрограммой, поэтому ваш тест, вероятно, хочет быть в вашем DB::sub
методе