Предисловие
Предисловие, на наш взгляд, должно дать читателю информацию, на основании которой он решает, нужен ли ему этот самоучитель.
О чем наш самоучитель. Он, естественно, о языке Perl, потому что так заявлено в названии. Кому он нужен, этот Perl? Тем, кто создает CGI-сценарии, занимается администрированием системы при помощи написания скриптов, а не щелкая левой кнопкой мыши, обрабатывает тексты, решает многие другие задачи из смежных областей и при этом нуждается в мощном, но простом в применении средстве, позволяющем создавать большие программы и маленькие программки и быстро их опробовать. Тем, кто преподает программирование, тоже полезно иметь представление об этом языке, так как он обладает интересными свойствами, отсутствующими в традиционных языках программирования, используемых в процессе обучения.
Нам нравятся некоторые особенности языка: зависимость результата от контекста, ассоциативные массивы, тип данных typeglob, пакеты, реализация объектно-ориентированного программирования и, конечно, средства обработки текста. Если вам не интересно хотя бы узнать, что все это означает, то можете книгу отложить. Если все перечисленное вам уже известно, то тоже можете ее отложить, потому что эта книга для тех читателей, кто еще только начинает изучать Perl самостоятельно.
Язык Perl создан системным программистом Ларри Уоллом (Larry Wall) как средство UNIX, позволяющее "склеивать" из программок, выполняющих отдельные функции, большие сценарии для решения комплекса задач, связанных с администрированием, обработкой текста и т. д. В дальнейшем он вышел за эти рамки, превратился в настоящий язык программирования, в котором нашли отражение многие тенденции, обозначившиеся в технологии программирования за последнее десятилетие, и получил широкое распространение в связи с развитием Inernet. Perl является основным средством создания приложений CGI, удобен для решения задач администрирования Web-серверов, электронной почты и других систем. Благодаря быстроте и легкости написания сценариев на этом языке он распространился и на другие платформы: DOS, Windows, OS/2, Mac, VMS и пр. Одно из основных достоинств языка Perl – его открытость и доступность. В сети Internet можно получить совершенно бесплатно исходные тексты интерпретатора perl (язык Perl – интерпретируемый, что в некоторых случаях является преимуществом) и модулей его расширения.
Данная книга – самоучитель языка Perl, который изучается, что называется, с нуля, т. е. предполагается, что читатель не знаком с этим языком – все необходимое он узнает, последовательно изучив темы и закрепив пройденный материал, отвечая на вопросы и выполняя упражнения, приведенные в конце каждой главы. Повторим, что предлагаемый материал представляет всего лишь основы языка Perl. Наш самоучитель ни в коей мере не претендует на учебник по программированию на языке Perl. В ней вы не найдете методологию программирования или готовые рецепты решения задач, в ней нет подробного описания наиболее часто используемых модулей и решения задач с их помощью, но, прочитав книгу, вы приобретете базовые знания, которые позволят разобраться в любом сценарии Perl.
При описании языка мы придерживались следующей схемы: сначала познакомить читателя с типами данных, затем с допустимыми операциями языка, далее с операторами и потом уже со специальными синтаксическими конструкциями (ссылки, регулярные выражения, подпрограммы, пакеты, модули и объектно-ориентированное программирование), т. е. мы старались идти от простых понятий к более сложным, что, как нам кажется, позволяет читателю получить целостное представление о языке программирования. Завершается изучение языка описанием того, как его использовать для создания CGI-сценариев – области Web-программирования, где он широко распространен.
Что осталось за рамками нашего самоучителя? Очень многое, так как мир Perl велик. Это вопросы взаимодействия с базовой операционной системой, межпроцессорное взаимодействие в UNIX, средства организации сетей, совместное использование Perl и других языков программирования, особенности работы на платформах, отличных от UNIX, работа с базами данных и еще многое другое. В главе о применении Perl в CGI-программировании неплохо было бы рассказать о протоколе HTTP и конфигурировании Web-сервера. По этим темам можно написать еще одну книгу, как минимум, такого же объема. Мы сознательно исключили данные вопросы из рассмотрения, так как они являются достаточно специфическими.