Авторы: |
Том Кристиансен, Брайан д фой и Ларри Уолл |
Страниц: | 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.
Отзывы
Джек Дэниелс (Jack Daniels) (Клиспелл, Монтана, США)
Наконец-то я приобрел больше уверенности при работе с Perl. и все благодаря этой книге! Очень хорошо написана, и по непонятным причинам это издание нравится мне намного больше, чем предыдущее. Само собой, оно посвящено Perl 5.14, тогда как прежние издания рассказывают об очень старых версиях языка.
В любом случае, если вы начинающий, если вы совершенствуетесь или же вам просто нужно освежить свои знания, купите эту книгу. Не пожалеете!
Х. Хемкен (H. Hemken) (Сан-Хосе, Калифорния, США)
Если вы ищете справочник по языку Perl, поиск завершен. Эта книга и есть тот самый справочник. Я пользовался предыдущим изданием более десяти лет и надеюсь использовать данное издание еще много лет. Оно дополнено описанием множества новых особенностей и улучшений, добавленных в Perl за последнее десятилетие.
Фраза на обложке книги - «Непревзойденная мощь в обработке текстов и создании сценариев» - не дает совершенно никакого представления об истинных возможностях Perl.
Адриан Помильо (Adrian Pomilio) "www.uiandtherest.com" (Роли, Северная Каролина, США)
Сразу скажу, что долгое время я избегал пользоваться языком Perl. Его синтаксис всегда наводил на меня ужас, и я даже представить не мог, как может возникнуть желание пользоваться им. Но настал момент, когда мое мнение перестало иметь вес. Мне пришлось заняться изучением Perl и использовать его в рабочих проектах. Друг порекомендовал мне книгу «Программирование на Perl». На мою удачу как раз вышло новое, четвертое издание.
Скажу коротко: книга великолепна. Все, от общего обзора до анатомии Perl, иллюстрируется понятными примерами. На мой взгляд, книга преследует две основные цели: во-первых, познакомить читателя с языком Perl и его экосистемой и, во-вторых, стать для него справочником.
Если вы сами приступили к изучению Perl или вынуждены были сделать это, как я, вы не ошибетесь, приобретя эту книгу. Она позволит вам сэкономить массу времени на поиске нужной информации в Интернете.
Дж. Спрол (J. Sproul)
Я начинал изучение Perl с третьего издания 12 лет назад. Когда вышло четвертое издание, я погрузился в чтение на несколько часов. Эта книга почти на дюйм толще прежнего издания. Мне очень понравилось, что авторы внедрили описание новых возможностей Perl, не повредив удовольствию от чтения «Верблюда». Это как вновь встретиться со старыми друзьями.
Если вы только начинаете изучать Perl, я предлагаю начать с этой книги, чтобы найти ответ на вопрос «Зачем?», а потом обратиться к книгам для начинающих, отвечающих на вопрос «Как?». Если же вы ветеран, скажу одно: эта книга стоит своих 30 баксов.