Может показаться преждевременным говорить сейчас об отладчике Perl . Но использование отладчика может оказаться исключительно полезным при изучении языка Perl . С ним вы можете легко испытать все программы, которые приведены в этой главе в качестве примеров. Фактически можно внести любое выражение Perl непосредственно в отладчик, используя его в качестве интерактивного Perl . Таким способом можно ознакомиться со многими возможностями языка, что намного проще, чем создавать и запускать полные скрипты. Отладчик Perl встроен в сам Perl . Можно запустить отладчик, используя ключ - d в командной строке следующим образом:
C:\PERL> Perl -d hello.pl <ENTER>
В таком случае Perl загрузит скрипт hello . pl и начнет отладку. Если вы используете UNIX-систему, то можете поместить комментарий #!/ u sr / bin / perl -d в самом начале скрипта Perl .
Если хотите загрузить Perl с отладчиком без загрузки скрипта, то можете использовать следующую команду:
С : \> Perl -de 0 <ENTER>
В таком случае аргумент командной строки -d указывает Perl на необходимость вызова отладчика, а аргумент - e 0 заставляет выполнить Perl скрипт, состоящий из 0 строк. Поскольку скрипт 0 не существует, то Perl просто запустит отладчик. Если Perl установлен на вашу систему корректно, то на экране вы увидите следующие данные, которые говорят, что вы находитесь в отладчике:
Loading DB routines from $RCSfile: perldb.pl,v $$Revision: 4.0.1.3
$$Date: 92/06/08 13:43:57 $
Emacs support available.
Enter h for help.
main ‘(p1000159:1):
DB<1>
Если Perl выводит ответ, но указывает на ошибку, такую как Can ' t locate perldb . pl @ INC , то, значит, Perl установлен в вашей системе некорректно. В таком случае прочитайте readme-файлы, которые сопровождают вашу версию Perl . В отладчике можно набрать любое выражение Perl , и он немедленно его исполнит. Дополнительно можно использовать следующие команды отладчика:
· h — распечатать в качестве подсказки список команд отладчика
· n — выполнять до следующего выражения
· < CR > — повторить последнюю команду n или s
· p выражение — сокращение для команды print выражение
· q — окончить работу
· r — исполнять до выхода из подпрограммы
· s — один шаг по скрипту (со входом в подпрограмму)
Например, следующая команда отладчика использует функцию print для того, чтобы вывести на экран сообщение Hello World :
DB<1> prinf “Hello World\n"; <ENTER>
Hello World
DB<2>
Используя отладчик с помощью команды р, можно вывести на экран любое выражение. Для упрощения набора в отладчике можно опускать точку с запятой в конце выражения, поскольку отладчик добавит ее для вас. Наконец, отладчик всегда переходит на новую строку для новой команды. Следующий код иллюстрирует использование команды р: < ENTER >
DB<2> р "Hello World\n" <ENTER>
Hello World
DB<3>
Как можно видеть, всякий раз, когда вы набираете команду отладчика, счетчик отладчика увеличивается на единицу, что находит отражение в его строке DB .Читая дальше эту главу, вам, вероятно, стоит запустить отладчик, чтобы иметь возможность набирать в нем примеры и работать с языком Perl интерактивно.
Примечание: Для того, чтобы ввести выражение из многих строк в отладчик ( debugger ), необходимо использовать символ продолжения «\» конце каждой строки.. Иначе отладчик сообщит о синтаксической ошибке.
Следующая команда иллюстрирует использование символа продолжения при работе с отладчиком:
D B<3> for ($i = 0; $i < 10; $i++) { \ <ENTER>
cont: print $i; \ <ENTER>
cont: } <EIITER>
0123456789
DB<4>
В этом случае для вывода чисел от 0 до 9 использовался цикл for , который будет подробно рассмотрен в этой главе.