Владимир Маслов. Введение в Perl
Содержание
- Аннотация
- От простого к сложному
- Запуск интерпретатора Перл
- Синтаксис
- Переменные
- Встроенные переменные Перл
- Регулярные выражения (шаблоны)
- Операторы и приоритеты
- Встроенные функции
- Группа системных вызовов
- Подпрограммы
- Модули (packages)
- Форматы
- Отладка Перл программ
- Список литературы
- Интернет - ссылки
Аннотация
В книге приводятся начальные сведения по новому языку программирования Перл. Данный язык получил широкое распространение в связи с развитием компьютерной сети Интернет. Все примеры в книге проверены для Перл версии 5.003 операционной системы Unix FreeBSD 2.1.0. Для программистов, системных администраторов и пользователей компьютеров.(C) Маслов Владимир Викторович.
От простого к сложному
Прежде чем приступить к последовательному ознакомлению с не знакомым для вас языком, должен оговориться и сказать, что все примеры да и сам язык описанию которого посвящена эта книга это Perl версии 5.003 для операционной системы FreeBSD версии 2.01. Существуют реализации этого языка для операционных систем OS/2 , MS-DOS и Windows NT но они немного отстают по возможностям от оригинала, рожденного в недрах Юникса.Пример 1
Введите в файл test1.pl следующие строки:#!/usr/local/bin/perl #Содержимое файла test1.pl print "Наше Вам с кисточкой!\n";А теперь подробно разберем каждую строку.
#!/usr/local/bin/perl
Данная строка должна быть первой в любой Пел-программе. Она указыванет системному интерпретатору что данный файл - это Пел-программа.
# Содержимое файла test1.pl
Эта строка называется комментарием. Она всегда начинается символом '#' и заканчивается таким объяснением что как говорил великий Ходжа Насреддин "это тонкий филосовский вопрос", а говоря простым языком здесь можно писать все что угодно. Даже пожелание руководству. Уж здесь оно точно до него не дойдет.
print "Наше Вам с кисточкой!\n";
Самая последняя ну и конечно главная. Она просто выводит на экран надпись "Наше Вам с кисточкой!". Здесь слово print - это команда "вывести". Все что в кавычках - это символы, \n - перевод строки и ';' - признак конца команды. Он обязателен. В одной строке может быть несколько команд и все они должны завершаться символом ';'. После него может быть символ '#' - это значит остаток строки считается комментарием. Над этой строкой автору пришлось больше всего поломать голову так как в нее постоянно лезли какие то странные "hello", "hello all", "Построемся и спасемся", "Строй наше спасение" и т.д и т.п. Если вы никогда не работали с Пел, то бъюсь на спор в 10$, что данная программа сразу у вас не заработает! Не потому что она не верна, а потому что "Нельзя объять необъятное". Сразу, потом можно, да и то частями. Сначало сделайте ваш файл test1.pl исполняемым. Для этого введите команду:
chmod +x test1.plЗатем проверьте где у вас Пел. Для этого введите:
which perlСистема вам выдаст что то вроде:
/usr/bin/perl
Если:
perl: Command not found.
То тогда закройте книжку и ложитесь спать. У вас просто нет Пел или он не установлен. А мне остается послать вас к системному администратору или к man (для переводчиков- man сокращение от manual а не то что вы подумали). Теперь проверьте что бы строка 01 содержала то что выдала команда which. Если совпало то введите:
test1.plи бъюсь на 50$ что и теперь программа не заработает, так как правильней ввести:
./test1.plЕсли я проиграл, то не радуйтесь. Да же если вам удалось запустить программу как test1.pl это значит, что у вас будут неприятности в будущем.
Пример 2
Данная программа выводит на экран все ваши секреты. А именно файл /etc/passwd.#!/usr/local/bin/perl open(PASS, "</etc/passwd") || die "Файл не найден!"; while(<PASS>) { print; } close(PASS);Пояснения:
open(PASS, "</etc/passwd") || die "Файл не найден!";
"Открыть" файл т.е. создать указатель файла PASS и в случае ошибки выдать "Файл не найден!" и закончить программу.
while(<PASS>)
Читать по одной строке файла в переменную по умолчанию $_. { Открыть блок операторов. print; Вывести на экран переменную по умолчанию $_ } Конец блока.
close(PASS);
Закрыть файл. Этого можно и не делать так-как файл автоматически закроется после окончания программы. Результат работы этой программы тот же что и команды cat /etc/passwd. По экрану пробежали непонятные строки но зато теперь перед вами открыты горизонты Пел программирования! Все последующие примеры будут развитием этой программы и она превратится из гадкого утенка в прекрасного лебедя (не генерала).