VR
Virtual Reality On-line   Журнал
Новости   |     Журнал    |    Хаkер    |     Магазин   |   Проекты
[   Вход    ]
[Kарта сайтa]

[ Download  ]
[  Конкурс  ]
[ Анекдоты  ]
[  Ссылки   ]
[  Реклама  ]
[ Почтальон ]
[ О проекте ]






TopList
Perl.
Вводный курс
:

И снова новый раздел!!! За последние два месяца журнал увеличился больше чем в два раза. Если раньше я выкладывал по 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 

"./" - указывает на текущий каталог.

Рассмотрим ещё один поучительный примерчик, который будет выводить на экран содержимое файла:

 
#!/user/bin/perl 
open(f, "/etc/passwd"); 
while() 
{ 
 print; 
} 
close(f); 

Функция open открывает файл. Ей нужно передать два параметра. Первый - переменная, куда запишется указатель на открытый файл. Второй - путь к файлу.

После этого запускается цикл while с параметром указателя на файл. Команда while означает - выполнять пока не наступит событие переданное в качестве параметра. В нашем случае параметр это файл, значит операторы между следующими скобками { и } будет выполняться пока не наступит конец файла.

На каждом шаге оператор while читает строку из файла и засовывает её в спец переменную $_. Потом передаётся управление оператору print. Как видишь у него нет аргументов и на первый взгляд он ничего не печатает. Но если ничего не указано, то print распечатывает содержимое переменной $_. Это как раз то, что нам нужно.

Последний оператор закрывает файл (close (f)).

На этом объявляю вводное занятие в Perl закрытым. Со следующего месяца мы начнём его изучать более глубоко и более чётко. Удачи!!!

 Исходники примера забирай здесь


Design by FMk group ©
Copyright©: Horrific aka Флёнов Михаил ©