Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]

     

Perl. Библиотека программиста

Т. Кристиансен,
Н. Торкингтон

Издано: 2001, Питер
ISBN: 5-8046-0094-Х
Мягкий переплет, 736 стр.
Формат: 70x100 1/16

Начало
[Заказать книгу в магазине "Мистраль"]
Предисловие
Введение
Полное оглавление

О чем рассказано в этой книге

Первая четверть книги, занимающая более пяти глав, посвящена базовым типам данных Perl. В главе 1 "Строки" рассматриваются такие вопросы, как работа с подстроками, расширение вызовов функций в строках и анализ данных, разделенных запятыми. Глава 2 "Числа" описывает некоторые странности представления с плавающей запятой, разделение разрядов запятыми и процесс генерации псевдослучайных чисел. Глава 3 "Дата и время" демонстрирует преобразования между числовыми и строковыми форматами даты и применение таймеров. В главе 4 "Массивы" рассматривается все, что относится к операциям со списками и массивами, в том числе поиск уникальных элементов, эффективная сортировка и случайные перестановки элементов. Глава 5 "Хэши" завершает основы языка и представляет самый полезный тип данных - ассоциативные массивы. В ней показано, как обращаться с элементами хэша в порядке вставки, как отсортировать Хэш по значению и как хранить несколько ассоциированных значений для одного ключа.

Глава 6 "Поиск по шаблону" занимает больше всего места. Рецепты описывают преобразование универсальных символов командного интерпретатора в шаблон, поиск букв и слов, многострочные совпадения, отказ от максимализма при поиске и поиск строк, которые близки к искомым, но не совпадают с ними. Хотя глава и так получилась самой длинной, она могла бы стать еще длиннее - в каждой главе вы найдете примеры использования регулярных выражений. Это часть того, что придает Perl его неповторимость.

Три следующие главы относятся к файловой системе. В главе 7 "Доступ к файлам" показано, как открыть файл, заблокировать его для параллельной работы, модифицировать его на месте и сохранить файловый манипулятор в переменной. В главе 8 "Содержимое файлов" обсуждается проблема поиска конца увеличивающегося файла, чтение конкретной строки файла и двоичный ввод/вывод с произвольным доступом. Наконец, в главе 9 "Каталоги" описаны приемы копирования, перемещения и удаления файлов, изменения атрибутов времени файла и рекурсивной обработки всех файлов каталога.

Основное внимание в главах 10-13 уделено тому, как сделать программы более гибкими и функциональными. Глава 10 "Подпрограммы" содержит рецепты для создания устойчивых локальных переменных, передачи параметров по ссылке, косвенного вызова функций и обработки исключений. Глава 11 "Ссылки и записи" посвящена структурам данных; продемонстрированы основные операции ссылками на данные и функции. Также в ней показано, как создавать аналоги конструкции struct языка С, как сохранять и загружать их из устойчивого хранилища. В главе 12 "Пакеты библиотеки и модули", рассматривается деление программы на отдельные файлы; создание переменных и функций, действующих только в границах данного модуля; замена встроенных функций, перехват обращений к отсутствующим модулям и использование утилит h2ph и h2xs для использования кода, написанного на С и C++. Наконец, в главе 13 "Классы, объекты и связи" рассматриваются основные принципы построения объектно-ориентированных модулей для создания пользовательских типов, обладающих конструкторами, деструкторами и возможностями наследования. В других рецептах показаны примеры использования циклических структур данных, перегрузки операторов и связанных типов данных.

Две следующие главы посвящены интерфейсам: первая - интерфейсам к базам данных, вторая - к визуальным устройствам. В главе 14 "Базы данных" описана методика работы с индексированными текстовыми файлами, блокировка файлов DBM и хранение в них информации, а также продемонстрирован интерфейс Perl к базам данных SQL. В главе 15 "Пользовательские интерфейсы" рассматриваются такие темы, как очистка экрана, обработка параметров командной строки, посимвольный ввод, перемещение курсора средствами termcap и curses и независимое от платформы графическое программирование с применением Tk.

Последняя четверть книги посвящена взаимодействию с другими программами вами. В главе 16 "Управление процессами и межпроцессные взаимодействия говорится о запуске других программ и получении их вывода, об уничтожении процессов-зомби, именованных каналах, обработке сигналов и совместному использованию переменных работающими процессами. Глава 17 "Сокеты" показывает, как установить потоковое соединение или использовать датаграммы при разработке низкоуровневых сетевых приложений "клиент/сервер". В главе 18 "Протоколы Интернета" рассматриваются протоколы высокого уровня - mail, FTP, Usenet и Telnet. Глава 19 "Программирование CGI" содержит рецепты для Web-форм, перехвата ошибок, повышения безопасности за счет отказа от обращений к командному интерпретатору, использования cookies, обслуживания электронных магазинов и сохранения форм в файлах или каналах. В последней главе книги "Автоматизация в Web" описана неинтерактивная работа в Web. В числе рецептов - выборка URL, автоматизация подачи форм в сценариях, извлечение URL из Web-страниц, удаление тегов HTML, поиск свежих или устаревших ссылок и обработка серверных файлов журналов.

Платформы

Книга создавалась на основе Perl 5.004_04, что означает старшую версию 5, младшую 004 и исправления уровня 4. Большинство программ и примеров было протестировано в BSD, Linux и SunOS, но это не значит, что они будут работать только в этих системах. Perl проектировался как язык, независимый от платформы. Если вы ограничиваетесь базовыми операциями с переменными, шаблонами, подпрограммами и высокоуровневым вводом/выводом, ваша программа должна одинаково работать везде, где работает Perl, то есть практически везде. Первые две трети книги посвящены именно такому общему программированию.

Изначально Perl задумывался как высокоуровневый кросс-платформенный язык системного программирования. Хотя с того времени Perl вышел далеко за пределы исходного предназначения, он продолжает широко использоваться в системном программировании в родных системах семейства UNIX и на других платформах. Для обеспечения максимальной переносимости основное внимание уделялось открытым системам, соответствующим стандарту POSIX (Portable Operating System Interface), - к их числу принадлежат практически все разновидности UNIX и множество других операционных систем. Большинство рецептов будет работать в любой POSIX-системе без каких-либо изменений (или с минимальными изменениями).

Perl может использоваться для системного программирования даже в системах, не соответствующих стандарту POSIX. Для этого вам понадобятся специализированные модули для этих систем, однако в этой книге они не рассматриваются. Это объясняется тем, что такие программы не переносимы, - и, честно говоря, еще и тем, что в распоряжении авторов таких систем нет. Информация о специализированных модулях приведена в документации, прилагаемой к вашей версии Perl.

Не беспокойтесь - большинство рецептов, связанных с системным программированием, работает и в системах, не соответствующих стандарту POSIX (особенно рецепты, относящиеся к базам данных, сетевым средствам и работе в Web). Используемые в этих областях модули маскируют различия между платформами. Исключение составляют в первую очередь немногочисленные рецепты и программы, основанные на многозадачных конструкциях, и в первую очередь - на мощной функции fork, стандартной в семействе POSIX и редко реализуемой в других системах.

Во многих операциях со структурированными файлами используется удобная база данных /etc/passwd. При чтении текстовых файлов используется /etc/mold, а там, где была нужна внешняя программа с выходными данными, - who(1). Эти файлы были выбраны лишь для демонстрации общих принципов, действующих независимо от того, присутствуют эти файлы в вашей системе или нет.

Начало
Предисловие
Введение
Полное оглавление
Заказать книгу в магазине "Мистраль"

 

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...