И снова новый раздел!!! За последние два месяца журнал увеличился больше чем в два раза. Если раньше я выкладывал по 8-10 статей в месяц, то в прошлом номере было 18, а в этом это уже 21-я статья. Может быть она будет не последней. С сегодняшнего дня мы начнём изучать Perl. Его реализация есть как в Unix подобных системах, так и в Windows. Я же буду писать примеры в Linux, но они прекрасно пойдут и под окнами.
Я надеюсь, что ты уже установил Perl под свою операционку, поэтому этот момент я опущу. Если ты этого не сделал, то иди на www.perl.com, там есть дистрибутивы под все поддерживаемые ОСи.
Сразу хочу огорчить всех, кто думает, что Perl это компилятар, потому что он с самого рождения был создан интерпретатором. Конечно же есть утилиты типа Perl2exe, но это компиляторы для языка Perl, а сам Perl остался интерпретатором. Поэтому тебе надо уяснить разницу между языком Perl и программой Perl, которая интерпретирует исходный текст на языке Perl. Уххх.
Что это значит для нас? А то, что нам не надо компилировать программы. Просто пишем текст и запускаем его с помощью интерпретатора. Это проще, но такие проги работают немного медленнее, но зато у Perl много преимуществ, например программирование страничек в Web.
Файлы perl чаще всего имеют расширение .pl. Самая первая строка в файл должна указывать место расположения интерпретатора Perl:
#!/user/bin/perl
У меня он находится в /user/bin/perl. Если ты работаешь в Linux-е, то ты можешь узнать расположение Perl с помощью команды which perl.
Комментарии оформляются, после значка #. Например:
print "Hello"# Это комментарий
#И это коментарий
Теперь попробуем сделать что-нибудь, а именно выведем сообщение, чтобы была видна работа программы.
#!/user/bin/perl
print "Hello!!!\n"
print "This is Perl from VR-online\n"
Команда print выводит сообщение на устройство вывода. В нашем случае это экран. После команды, в кавычках и жёт сообщение, которое необходимо вывести. Внутри сообщения находится управляющая команда разметки \n - перевод каретки (переход на новую строку). Если не вставлять перевод каретки, то обе строки распечатаются друг за другом в одну строку. Это не единственная управляющая команда разметки. Их достаточно много и выглядят они как "косая черта" +"одна буква". Как только интерпретатор встречает косую черту в строке, он сразу проверяет следующую букву и воспринимает это, как команду форматирования текста. Немного позже мы подробнее познакомимся с форматированием текста, а пока что этого будет достаточно.
Cохрани файл под именем examp1.pl. Теперь в командной строке напечатай chmod -x examp1.pl. Эти мы сделали наш файл запускаемым. Теперь просто запусти его и ты получишь результат. Если ты этого не сделаешь, то тебе придётся запускать его так:
perl examp1.pl
Если ты пытаешься запустить пример из mc, то проблем не будет. А если ты в Linux-е начинающий и пытаешься запустить из терминала, то ты ничего не уведешь, потому что нужно запускать как:
./examp1.pl
"./" - указывает на текущий каталог.
Рассмотрим ещё один поучительный примерчик, который будет выводить на экран содержимое файла:
Функция open открывает файл. Ей нужно передать два параметра. Первый - переменная, куда запишется указатель на открытый файл. Второй - путь к файлу.
После этого запускается цикл while с параметром указателя на файл. Команда while означает - выполнять пока не наступит событие переданное в качестве параметра. В нашем случае параметр это файл, значит операторы между следующими скобками { и } будет выполняться пока не наступит конец файла.
На каждом шаге оператор while читает строку из файла и засовывает её в спец переменную $_. Потом передаётся управление оператору print. Как видишь у него нет аргументов и на первый взгляд он ничего не печатает. Но если ничего не указано, то print распечатывает содержимое переменной $_. Это как раз то, что нам нужно.
Последний оператор закрывает файл (close (f)).
На этом объявляю вводное занятие в Perl закрытым. Со следующего месяца мы начнём его изучать более глубоко и более чётко. Удачи!!!