Шаг 3 - Первая программа

Чтобы протестировать работу установленного в предыдущем шаге софта нам понадобится какая-нибудь простая программка. Будем писать "Hello, World!" ;) Для того, чтобы протестировать работу интерпретатора достаточно программки в одну строку:

print "Hello, World!\n";

Напишите эту строку в файл step3.cgi и запустите сначала из командной строки - perl step3.cgi.

3_1.gif (3862 b)

А теперь попробуйте щёлкнуть по ней два раза левой кнопкой мыши. Ага, мелькнуло что-то и исчезло... Это не есть гут. Сейчас подправим.

#!/usr/bin/perl -w
print "Hello, World!\n";
sleep(3);

3_2.gif (1128 b)

А теперь разбор полётов. Что же мы там такого понаписали? Первая строка - "#!/usr/bin/perl -w" - дань юниксовому прошлому. На этих платформах командный интерпретатор (aka shell), перед тем как запустить на исполнение текстовый файл, читает из него первую строку. Если она начинается с символов #!, то shell берёт всё, что следует за этими символами (а это обычно путь до интерпретатора), добавляет к получившейся строке имя файла и исполняет. Т.е. в нашем случае было бы выполнено "/usr/bin/perl -w step3.cgi". Под Windows эта строка не имеет никого смысла и без неё можно обойтись, как мы сделали в нашей первой программке. Но её до сих пор ставят потому, что а) традиция б) сегодня этот скрипт работает под Win32, а завтра его положат на сервер под FreeBSD в) в ней удобно передавать параметры perl'у. Добавка -w как раз и есть такой параметр. По умолчанию Perl выводит сообщения только об ошибках, а с параметром -w ещё и предупреждения, что бывает крайне полезно в процессе разработки программы. Ниже я ещё уделю внимание параметрам. Продолжим разбираться в нашей программке.

print - это функция вывода. Ей передаётся один параметр - строка в двойных (") или одинарных (') кавычках. Её можно записать и так - print("Hello, World!\n"). По умолчанию она выводит строку на экран, но может также выводить и в файл, и в сокет, и вообще хоть куда. Касательно "\n" - это символ перевода строки. Точнее это символ \ - говорящий интерпретатору, что дальше идёт специальный символ, а не буква, и сам символ перевода строки обозначающийся как n. Таких символов не мало, например \t - табуляция, \r - перевод каретки, \a - звонок и т.д. Последняя строка - sleep(3). Это функция останавливающая исполнение программы на кол-во секунд указанное параметром, в данном случае на три секунды. Как видите каждая строка (кроме первой естественно) должна заканчиваться точкой с запятой (;).

Напоследок ещё расскажу о параметрах perl'а и пойду придаваться здоровому сну. Полезный параметр -w вы уже знаете. Ещё может найти применение параметр . Он позволяет выполнять программы передаваемый perl'у в командной строке вместе с этим параметром. Например, perl -e "print <*.cgi>.' ' while(<*.cgi>)". Эта не хитрая программка ищет в каталоге файлы с расширением .cgi и выводит их на экран через пробел.

3_3.gif (8835 b)

Ну, а остальное вам пока ещё рано... спешить нам ведь некуда ;)


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Горностаев Сергей aka Deadcat.