Продолжается подписка на наши издания! Вы не забыли подписаться?

Perl 5.6 для C и Java-программистов**

Теодор Златанов, программист,
Northern Light,Inc.

Perl часто ставит в тупик даже опытных программистов, в первую очередь тем, что на нем очень просто создать сбивающий с толку код. Но главным образом в структуре, свойствах и философии Perl людей смущает то, что этот мощный и богатый язык изначально создавался, чтобы позволить сделать одно и то же несколькими способами.

Сейчас мы попробуем разобраться с наиболее запутанными свойствами Perl 5.6, сравнивая их со свойствами C/C++/Java. Главным образом речь пойдет о принципах, изложенных в работе Larry Wall "Natural Language Principles in Perl" (см. литературу в конце статьи), поскольку они наиболее точно отделяют Perl от C, C++ и Java. Точная механика синтаксиса Perl лучше всего изучается по руководству "perldoc perlsyn" или книге "Programming Perl", на сегодня это лучший путеводитель по Perl.

Механика интерпретатора

Начинающие Perl-программисты сразу замечают отсутствие компиляции. Скрипт Perl немедленно исполняется интерпретатором ("perl" на UNIX-системах, "perl.exe" в DOS/Windows , и никакого на MacOS). Можете попробовать сами: введите имя вашего интерпретатора Perl, или запустите его в MacOS, и вы сможете задать ему выражения для немедленного исполнения. В большинстве систем для обозначения окончания пользовательского ввода используется последовательность символов, обозначающая конец файла (в UNIX – Control-D). Так, в UNIX-системах, следующий код выведет на экран результат "5+6":

Начнем с маленькой программки

> perl

Perl ожидает пользовательского ввода, поскольку не указано имени скрипта.

print 5+6

Нажмите Control-D

11

Итак, Perl выполнил скрипт, состоящий из одной строки, вычислив и отпечатав на экране "11".

У интерпретатора Perl есть множество опций. Флаг "-e", например, заставит его исполнять как скрипт аргументы командной строки, и команда perl -e'print 5+6' (обратите внимание на то, что команда print взята в кавычки) эквивалентна вышеприведенному скрипту. Флаг "-i" позволяет редактировать файлы, ключи "-n" и "-p" заставляют интерпретатор работать как фильтр ввода-вывода с действиями, указанными программистом. Ключ "-w" (очень рекомендую) включает вывод сообщений и похож на ключ C/C++ "-Wall", за тем исключением, что "-w" работает в процессе исполнения программы...

**Полный текст статьи вы можете найти в печатной версии журнала

 


Copyright © 1994-2016 ООО "К-Пресс"