Отладка Perl программ.

В Perl реализован превосходный механизм отладки программ. Вам достаточно запустить программу с ключом '-d' и вы начнете работать с интерактивным отладчиком. Вам становятся доступны все переменные и массивы, вы можете вводить выражения и операторы, трассировать, исследовать работу программы в по-шаговом режиме и многое другое. Ниже перечисленны команды отладчика которые вы можете вводить на его подсказку. Команды отладчика. h - Получить справку по командам. T - Просмотреть стек программы s - Выполнить одну команду и остановиться. n - Выполнить подпрограмму и остановиться. r - Выполнить текущую подпрограмму и остановиться. c - Продолжить выполнение до сдедующей точки остановки. c номер - Продолжить выполнение до строки с данным номером. - Повторить последнию команду n или s. l min+incr - Вывести incr+1 строк программы начиная со строки min. l min-max - Вывести строки начиная с min до max. l номер - Вывести строку с указанным номером. l - Вывести следующий экран строк. - - Вывести предыдущий экран строк. w строк - Вывести экран строк. Текущая в середине. l подпрограмма - Вывести строки указанной подпрограммы. /шаблон/ - Найти строку в тексте программы. ?шаблон? - Обратный поиск строки в тексте программы. L - Вывести строки с точками останова и активами. S - Вывести имена всех подпрограмм. t - Включить или выключить трассировку. b строка [ условие] - Установить точку остановки. b подпрограмма [ условие ] - Установить точку остановки в начале указанной подпрограммы и если указано при данном условии. d - Убрать точку остановки. D - Убрать все точки остановки. a строка команда - Установить актив (команду которая выполнится вместе с указанной строкой. "команда" - обычныая команда Perl. A - Стереть все активы. <команда Выполнять команду перед каждой остановкой.> команда - Выполнить команду после остановки отладчика. V модуль [имена] - Вывести значение всех или указанных имен в модуле. Внимание! Символ '$' не вводится. X [имена] - То же что и V , но только для текущего модуля. ! номер - Выполнить одну строку программы. ! -номер - Выполнить одну команду с номером предшествующим текущей строке. H - n - Вывести n последних выполненных команд. q или ^D - Выход из программы. команда - Выполнить команду Perl. p выражение - Вывести значение выражения. Конструктор BEGIN не отслеживается отладчиком, но можно в теле конструктора указать: $DB::single =1; и отладчик остановится. Данная команда не вызовет ошибку при работе без отладчика.