"Наиболее эффективным инструментом отладки всё ещё
остаётся внимательное размышление, связанное с
благоразумно расположенными print выражениями."
Брайн Керниган "Unix для начинающих. 1979 г"
Такую возможность для управляемой отладки предоставляет глобальная переменная $DEBUG в модуле, который мы хотим отлаживать время от времени. Сами же отладочные вызовы должны срабатывать только при истинном значении $DEBUG. Включать и выключать отладочный режим можно простым переопределением значения переменной $DEBUG в программе, которая использует данный модуль.
Пример:
ABC.pm - модуль, который необходимо отлаживать.
package ABC; use strict; use warnings; our $DEBUG = 0; sub foo { warn "Warning: important information" if $DEBUG; return 'World!'; } 1;
main.pl - основная программа.
use strict; use warnings; use ABC; $\ = "\n"; { $ABC::DEBUG = 0; print "Hello " . ABC::foo; } print "-" x 45; { $ABC::DEBUG = 1; print "Hello " . ABC::foo; }
На выходе будет:
Hello World! --------------------------------------------- Warning: important information at ABC.pm line 9. Hello World!
Комментариев нет:
Отправить комментарий