ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
БИЗНЕС, УПРАВЛЕНИЕ ПРОЕКТАМИ
АНГЛИЙСКИЙ ЯЗЫК
ЭЛЕКТРОННЫЕ КНИГИ

Программирование на Perl, 4 издание

Программирование на Perl 4 издание

"Программирование на Perl", 4-е издание 

Авторы:

Том Кристиансен, Брайан д фой и Ларри Уолл

Страниц: 1048
Масса: 1300
Обложка: мягкая
Издана: декабрь, 2013
Купить

Аннотация

Вскоре после выхода первого издания в 1991 году книга «Программирование на Perl» стала считаться неоспоримой библией по языку Perl и продолжает оставаться основным руководством по этому весьма практичному языку. Язык Perl начал жизнь в роли мощного средства обработки текста, но быстро превратился в универсальный язык программирования, который помогает сотням и тысячам программистов, системных администраторов и энтузиастов, таких как вы, справляться со своей работой.

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

Данное издание охватывает следующие важные особенности языка Perl: новые ключевые слова и синтаксические конструкции, уровни ввода/вывода и кодировки, новые escape-последовательности, поддержка стандарта Unicode 6.0, групповые графемы и свойства символов Юникода, именованные сохраняющие группы в регулярных выражениях, рекурсивные и грамматические шаблоны, расширенный обзор архива CPAN и современные передовые приемы программирования.

Оглавление

Предисловие

Часть I. Общий обзор

Глава 1. Обзор Perl

Введение

Естественные и искусственные языки

Пример вычисления среднего

Дескрипторы файлов

Операторы

Управляющие конструкции

Регулярные выражения

Чего вы не знаете, то вам (сильно) не навредит

Часть II. Анатомия Perl

Глава 2. Всякая всячина

Атомы

Молекулы

Встроенные типы данных

Переменные

Имена

Скалярные значения

Контекст

Списочные значения и массивы

Хеши

Таблицы имен и дескрипторы файлов

Операторы ввода

Глава 3. Унарные и бинарные операторы

Термы и списочные операторы (влево)

Оператор «стрелка»

Автоинкрементирование и автодекрементирование

Возведение в степень

Идеографические унарные операторы

Операторы связывания

Мультипликативные операторы

Аддитивные операторы

Операторы сдвига

Именованные унарные операторы и операторы проверки файлов

Операторы сравнения

Операторы равенства

Оператор интеллектуального сопоставления

Операторы поразрядного действия

Логические операторы (короткого пути) в стиле C

Оператор диапазона

Условный оператор

Операторы присваивания

Оператор запятой

Списочные операторы (вправо)

Логические and, or, not и xor

Операторы C, отсутствующие в Perl

Глава 4. Операторы и объявления

Простые операторы

Составные операторы

Операторы if и unless

Оператор given

Операторы циклов

Оператор goto

Окаменевшие switch/case

Оператор многоточия

Глобальные объявления

Объявления с областью видимости

Прагмы

Глава 5. Поиск по шаблону

Бестиарий регулярных выражений

Операторы поиска по шаблону

Метасимволы и метазнаки

Классы символов

Квантификаторы

Позиции

Захват и группировка

Группировка без сохранения

Управление процессом

Замысловатые шаблоны

Определение собственных утверждений

Глава 6. Юникод

Не рассказывай, а показывай

Доступ к данным в Юникоде

Ошибочные представления о регистре

Графемы и нормализация

Сравнение и сортировка строк Юникода

Дополнительные возможности

Ссылки

Глава 7. Подпрограммы

Синтаксис

Семантика

Передача ссылок

Прототипы

Атрибуты подпрограмм

Глава 8. Ссылки

Что такое ссылка?

Создание ссылок

Использование жестких ссылок

Символические ссылки

Фигурные скобки, квадратные скобки и кавычки

Глава 9. Структуры данных

Массивы массивов

Хеши массивов

Массивы хешей

Хеши хешей

Хеши функций

Более сложные записи

Сохранение структур данных

Глава 10. Пакеты

Таблицы имен

Квалифицированные имена

Пакет по умолчанию

Изменение пакета

Автозагрузка

Глава 11. Модули

Загрузка модулей

Выгрузка модулей

Создание модулей

Замещение встроенных функций

Глава 12. Объекты

Краткая памятка по объектно-ориентированному жаргону

Система объектов Perl

Вызов методов

Создание объектов

Наследование классов

Деструкторы экземпляров

Управление данными экземпляров

Управление данными класса

Лось в посудной лавке (Moose)

Резюме

Глава 13. Перегрузка

Прагма overload

Обработчики перегрузки

Перегружаемые операторы

Конструктор копирования (=)

Когда обработчик перегрузки отсутствует (nomethod и fallback)

Перегрузка констант

Открытые функции перегрузки

Наследование и перегрузка

Перегрузка на этапе выполнения

Диагностика перегрузки

Глава 14. Связанные переменные

Связывание скаляров

Связывание массивов

Связывание хешей

Связывание дескрипторов файлов

Неочевидная ловушка при отвязывании

Модули для связывания в CPAN

Часть III. Perl как технология

Глава 15. Межпроцессные взаимодействия

Сигналы

Файлы

Каналы

System V IPC

Сокеты

Глава 16. Компиляция

Жизненный цикл программ на Perl

Компиляция кода

Выполнение кода

Серверы компиляторов

Генераторы кода

Средства разработки кода

Компилятор и интерпретатор: авангардизм и ретро

Глава 17. Интерфейс командной строки

Обработка команд

Переменные среды

Глава 18. Отладчик Perl

Использование отладчика

Команды отладчика

Настройка отладчика

Автоматическое выполнение

Поддержка отладчика

Профилировщик Perl

Глава 19. CPAN

История

Обзор репозитория

Экосистема CPAN

Установка модулей из CPAN

Создание дистрибутивов для CPAN

Часть IV. Perl как культура

Глава 20. Защита данных

Обработка ненадежных данных

Обработка ошибок синхронизации

Работа с ненадежным кодом

Глава 21. Распространенные приемы программирования

Обычные промахи новичков

Эффективность

Стиль программирования

Беглый разговор на Perl

Генераторы программ

Глава 22. Переносимость программ Perl

Перевод строки

Старшинство байтов и ширина чисел

Файлы и файловые системы

Взаимодействие с системой

Межпроцессные взаимодействия (IPC)

Внешние подпрограммы (XS)

Стандартные модули

Дата и время

Интернационализация

Стиль

Глава 23. Документация в формате POD

Вкратце о pod

Трансляторы и модули pod

Создание собственных инструментов для работы с pod

Ловушки pod

Документирование программ Perl

Глава 24. Культура Perl

История практичности

Поэзия Perl

Достоинства программиста на Perl

События

Где и как получить помощь

Часть V. Справочный материал

Глава 25. Специальные имена

Специальные имена, сгруппированные по типам

Специальные переменные в алфавитном порядке

Глава 26. Форматы

Форматы строк

Двоичные форматы

Форматы шаблонов

Глава 27. Функции

Функции Perl по категориям

Функции Perl в алфавитном порядке

Глава 28. Стандартная библиотека Perl

Библиотечное дело

Обзор библиотеки Perl

Глава 29. Модули прагм

attributes

autodie

autouse

base

bigint

bignum

bigrat

blib

bytes

charnames

constant

deprecate

diagnostics

encoding

feature

fields

filetest

if

inc::latest

integer

less

lib

locale

mro

open

ops

overload

overloading

parent

re

sigtrap

sort

strict

subs

threads

utf8

vars

version

vmsish

warnings

Пользовательские прагмы

Глоссарий

Алфавитный указатель

Об авторах

Том Кристиансен (Tom Christiansen) - внештатный консультант, специализируется на преподавании языка Perl и написании книг. После нескольких лет работы в компании TSR Hobbies (известной своей игрой «Dungeons and Dragons») он поступил в колледж, где проучился год в Испании и пять лет в Америке, балуясь музыкой, лингвистикой, программированием и изучением примерно полудюжины разговорных языков. Наконец Том покинул Университет Висконсина в городе Мэдисон со степенью бакалавра испанского языка и степенью магистра информационных технологий. Затем он проработал пять лет в Convex мастером на все руки, занимаясь всем подряд, от администрирования системы до прикладного и системного программирования, а также поддержки и обучения пользователей. Кроме того, Том два срока избирался в правление USENIX. Обладая более чем 30-летним опытом программирования в системах UNIX, Том проводит семинары на международном уровне. Живя в предгорьях, выше города Боулдер (штат Колорадо), Том каждое лето уходит в отпуск, чтобы заниматься пешим туризмом, программированием, орнитологией, сочинением музыки и компьютерными играми.

Брайан д фой (brian d foy) - опытный Perl-наставник и писатель. Издает электронный журнал «The Perl Review» (Обозрение Perl), где проводятся консультации, публикуются обучающие статьи и обзоры программного кода и многие другие материалы, помогающие людям понимать и использовать Perl. Брайан часто выступает на конференциях, посвященных Perl. Соавтор книг «Learning Perl»[1], «Intermediate Perl»[2] и «Effective Perl Programming», а также автор книги «Mastering Perl». Работал инструктором и автором в «Stonehenge Consulting Services» с 1998 по 2009. Perl начал использовать еще будучи аспирантом физического факультета, приверженец Маков с момента приобретения первого своего компьютера. Основал первую группу пользователей Perl, «New York Perl Mongers», а также некоммерческую организацию Perl Mongers, Inc., которая занималась пропагандой Perl и оказывала помощь более чем двум сотням групп пользователей Perl по всему миру. Занимается сопровождением разделов perlfaq в базовой документации по языку Perl, нескольких модулей в CPAN и ряда автономных сценариев.

Ларри Уолл (Larry Wall) - автор языка Perl, создавший его во время работы в Unisys. Теперь все свое время он посвящает руководству дальнейшей разработкой языка. Ларри известен своим непримиримым и провокационным подходом к программированию, а также своим невероятным вкладом в культуру свободного программного обеспечения.

Джон Орвант (Jon Orwant) - основатель «The Perl Journal» и обладатель награды «White Camel» (Белый верблюд) 2004 года за вклад в развитие Perl. Работает в Google, где возглавляет отделы патентных изысканий, визуализации и цифровых гуманитарных наук. Большую часть своей карьеры в Google Джон занимался развитием службы «Book Search» и разработал популярный инструмент «Google Books Ngram Viewer». До прихода в Google работал техническим директором в O'Reilly, руководителем исследовательской группы в France Telecom и преподавателем в MIT. В 1999 Орвант защитил докторскую в MIT Electronic Publishing Group.

 


[1]  Рэндал Л. Шварц, Том Феникс, Брайан д фой «Изучаем Perl», 5-е издание, Символ-Плюс, 2009.

[2]  Рэндал Л. Шварц, Брайан д фой, Том Феникс «Perl: изучаем глубже», 2-е издание, Символ-Плюс, 2007.

Отзывы

Лучшая книга из когда-либо выходивших!, 25 ноября 2012

Джек Дэниелс (Jack Daniels) (Клиспелл, Монтана, США)

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

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

Исчерпывающий трактат о Perl, 16 ноября 2012

Х. Хемкен (H. Hemken) (Сан-Хосе, Калифорния, США)

Если вы ищете справочник по языку Perl, поиск завершен. Эта книга и есть тот самый справочник. Я пользовался предыдущим изданием более десяти лет и надеюсь использовать данное издание еще много лет. Оно дополнено описанием множества новых особенностей и улучшений, добавленных в Perl за последнее десятилетие.

Фраза на обложке книги - «Непревзойденная мощь в обработке текстов и создании сценариев» - не дает совершенно никакого представления об истинных возможностях Perl.

Вам нужна эта книга, если используете Perl, 7 апреля 2012

Адриан Помильо (Adrian Pomilio) "www.uiandtherest.com" (Роли, Северная Каролина, США)

Сразу скажу, что долгое время я избегал пользоваться языком Perl. Его синтаксис всегда наводил на меня ужас, и я даже представить не мог, как может возникнуть желание пользоваться им. Но настал момент, когда мое мнение перестало иметь вес. Мне пришлось заняться изучением Perl и использовать его в рабочих проектах. Друг порекомендовал мне книгу «Программирование на Perl». На мою удачу как раз вышло новое, четвертое издание.

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

Если вы сами приступили к изучению Perl или вынуждены были сделать это, как я, вы не ошибетесь, приобретя эту книгу. Она позволит вам сэкономить массу времени на поиске нужной информации в Интернете.

Отличное обновление, 6 марта 2012

Дж. Спрол (J. Sproul)

Я начинал изучение Perl с третьего издания 12 лет назад. Когда вышло четвертое издание, я погрузился в чтение на несколько часов. Эта книга почти на дюйм толще прежнего издания. Мне очень понравилось, что авторы внедрили описание новых возможностей Perl, не повредив удовольствию от чтения «Верблюда». Это как вновь встретиться со старыми друзьями.

Если вы только начинаете изучать Perl, я предлагаю начать с этой книги, чтобы найти ответ на вопрос «Зачем?», а потом обратиться к книгам для начинающих, отвечающих на вопрос «Как?». Если же вы ветеран, скажу одно: эта книга стоит своих 30 баксов.

 

 

 

 

 

 

 

Система Orphus