Может показаться прежде временным говорить сейчас об отладчике Perl. Но использование отладчика может оказаться исключительно полезным при изучении языка Perl. С ним вы можете легко испытать все программы, которые приведены в этой главе в качестве примеров. Фактически можно внести любое выражение Perl непосредственно в отладчик, используя его в качестве интерактивного Perl. Таким способом можно ознакомиться со многими возможностями языка, что намного проще, чем создавать и запускать полные скрипты. Отладчик Perl встроен в сам Perl. Можно запустить отладчик, используя ключ -d в командной строке следующим образом:
C:\PERL> Perl -d hello.pl <ENTER>
В таком случае Perl загрузит скрипт hello.pl и начнет отладку. Если вы используете UNIX-систему, то можете поместить комментарий #!/usr/bin/perl -d в самом начале скрипта Perl. Если хотите загрузить Perl с отладчиком без загрузки скрипта, то можетеиспользовать следующую команду: С: \> Perl -de 0 В такомслучае аргумент командной строки -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), необходимо использовать символ продолжения <\> конце каждой строки.. Иначе отладчик сообщит о синтаксической ошибке.
Следующая команда иллюстрирует использование символа продолжения при работе с отладчиком:
DB<3> for ($i = 0; $i < 10; $i++) { \ <ENTER> cont: print $i; \ <ENTER> cont: } <EIITER> 0123456789 DB<4>
В этом случае для вывода чисел от 0 до 9 использовался циклfor, который будет подробно рассмотрен в этой главе.
8 8 8
| |