چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Программирование на Perl

Уолл Л., Кристиансен Т., Орвант Д

قیمت نهایی

۴۴٬۰۰۰ تومان۴۹٬۰۰۰ تومان۱۰٪ تخفیف
  • تخفیف زمان‌دار−۵٬۰۰۰ تومان

۵٬۰۰۰ تومان صرفه‌جویی نسبت به قیمت اصلی

نسخه اصلی و اورجینال

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

مشخصات کتاب

سال انتشار
۲۰۰۲
فرمت
PDF
زبان
روسی
حجم فایل
۹٫۸ مگابایت

دربارهٔ کتاب

Перевод С. Маккавеева. Первое издание «Программирование на Perl», ставшее непререкаемой библией языка, вышло в 1991 году. Сейчас Perl завоевал широкую популярность, что и потребовало нового, уже третьего издания, содержащего как введение в язык Perl для новичков в программировании, так и отличный справочник по языку. Ларри Уолл – создатель Perl и один из авторов этой книги. По образованию он еще и лингвист. Возможно, поэтому Perl стал необычайно гибким языком, где одного и того же можно достичь многими путями, как это прекрасно демонстрирует автор. Уже написано много книг, в которых рассматриваются многочисленные возможности Perl, однако только в этой книге рассказывается, зачем эти возможности были созданы и как их использовать в полную силу. Особенно полезен Perl в системном администрировании и веб-программировании. Что нового в третьем издании? Практически все. Оно не просто расширено в соответствии с релизом Perl 5.6, но и полностью реорганизовано и усилено множеством примеров. Большая часть разделов радикально переработана, например, разделы, посвященные объектно-ориентированному программированию и регулярным выражениям. Кроме того, добавлено много новых глав, рассматривающих работу с профилями, Unicode, потоки, компилирование, документацию pod и внутреннюю организацию Perl. Оглавление Предисловие В погоне за счастьем Что обновилось в этом издании Стандартный дистрибутив Электронная документация Навигация по стандартным страницам руководства Поиск на страницах электронного руководства Страницы руководства, не принадлежащие Perl Печатная документация Дополнительные источники Perl в Сети Телеконференции (группы новостей Usenet) Сообщения об ошибках Соглашения, принятые в этой книге Благодарности Хотим услышать ваши отзывы Часть I. Общий обзор Глава 1. Обзор Perl Введение Естественные и искусственные языки Синтаксис переменных Глаголы Стандартный пример Как это делается Дескрипторы файлов Операторы Некоторые бинарные арифметические операторы Строковые операторы Операторы присваивания Унарные арифметические операторы Логические операторы Некоторые операторы сравнения чисел и строк Некоторые операторы проверки файлов Управляющие структуры Что есть истина? Итеративные (циклические) конструкции Регулярные выражения Квантификаторы Минимальное соответствие Как поймать на слове Ссылки на найденный текст Обработка списков Чего вы не знаете, то вам не навредит (сильно) Часть II. Анатомия Perl Глава 2. Всякая всячина Атомы Молекулы Встроенные типы данных Переменные Имена Поиск имен Скалярные значения Числовые литералы Строковые литералы Выберите свои кавычки Или опустите кавычки полностью Интерполяция величин, являющихся массивами Встроенные документы («here» documents) Литералы v-строк Другие литеральные лексемы Контекст Скалярный и списочный контексты Логический (булев) контекст Пустой контекст Интерполирующий контекст Списочные значения и массивы Присвоение спискам Размер массива Хеши Таблицы имен и дескрипторы файлов Операторы ввода Оператор ввода команд (обратные кавычки) Оператор ввода строки (угловых скобок) Поиск файлов по шаблону Глава 3. Унарные и бинарные операторы Термы и списковые операторы (слева) Оператор «стрелка» Автоинкрементирование и автодекрементирование Возведение в степень Идеографические унарные операторы Операторы связывания Мультипликативные операторы Аддитивные операторы Операторы сдвига Именованные унарные операторы и операторы проверк Операторы сравнения Операторы равенства Операторы поразрядного действия Логические операторы в стиле C (короткого действи Оператор диапазона Условный оператор Операторы присваивания Оператор запятой Списковые операторы (справа) Логические and, or, not и xor Операторы C, отсутствующие в Perl Глава 4. Операторы и объявления Простые операторы Составные операторы Операторы if и unless Операторы Loop Операторы while и until Циклы for Циклы foreach Управление циклом Голые блоки Структуры типа case goto Глобальные объявления Объявления с областью видимости Объявления переменных с областью видимости Переменные с лексической областью видимости: my Глобальные объявления с лексической областью види Переменные с динамической областью видимости: loc Прагмы Управление выводом предупредительных сообщений Управление использованием глобальных переменных Глава 5. Поиск по шаблону Бестиарий регулярных выражений Операторы поиска по шаблону Модификаторы шаблонов Оператор m// (поиск) Оператор s/// (подстановка) Оператор tr/// (транслитерации) Метасимволы и метазнаки Таблицы метазнаков Специальные символы Групповые метазнаки Классы символов Пользовательские классы символов Классические сокращенные обозначения классов в Pe Свойства Unicode Классы символов в стиле POSIX Квантификаторы Позиции Начало: утверждения \ A и ^ Конец: утверждения \z, \Z и $ Границы: утверждения \b и \B Последовательный поиск Где вы остановились: утверждение \G Захват и кластеризация Захват Кластеризация Замкнутые модификаторы шаблонов Чередование Управление процессом Пусть Perl сделает дело Интерполяция переменных Компилятор регулярных выражений Маленькая машинка, которая /(не) может?/ Сложные шаблоны Заглядывающие утверждения Подшаблоны без возврата Программные шаблоны Определение собственных утверждений Глава 6. Подпрограммы Синтаксис Семантика Приемы работы со списками параметров Индикация ошибок Вопросы областей видимости Передача ссылок Прототипы Подставляемые функции-константы Предосторожности при использовании прототипов Атрибуты подпрограмм Атрибуты locked и method Атрибут lvalue Глава 7. Форматы Переменные форматов Нижние колонтитулы Низкоуровневый доступ к форматированию Глава 8. Cсылки Что такое ссылка? Создание ссылок Оператор обратной косой черты Анонимные данные Конструкторы объектов Ссылки на дескрипторы Ссылки на таблицы символов Неявное создание ссылок Использование жестких ссылок Использование переменной в качестве имени перемен Использование блока в качестве имени переменной Использование оператора «стрелка» Использование методов объектов Псевдохеши Другие приемы работы с жесткими ссылками Замыкания Символические ссылки Фигурные скобки, квадратные скобки и кавычки Ссылки не действуют в качестве ключей хеша Сборка мусора, циклические ссылки и слабые ссылки Глава 9. Структуры данных Массивы массивов Создание двумерного массива и доступ к нему Наращивание массива Доступ к массивам и вывод Срезы Распространенные ошибки Хеши массивов Формирование хеша массивов Генерирование хеша массивов Доступ к хешу массивов и вывод его элементов Массивы хешей Формирование массива хешей Генерирование массива хешей Доступ к массиву хешей и вывод его элементов Хеши хешей Формирование хеша хешей Генерирование хеша хешей Доступ к хешу хешей и вывод его элементов Хеши функций Более сложные записи Формирование, доступ и вывод более сложных записе Формирование, доступ и вывод еще более сложных за Генерирование хеша сложных записей Сохранение структур данных Глава 10. Пакеты Таблицы имен Автозагрузка Глава 11. Модули Использование модулей Создание модулей Закрытость модуля и Exporter Замещение встроенных функций Глава 12. Объекты Краткая памятка по объектно-ориентированному жарг Система объектов Perl Вызов методов Вызов методов с помощью оператора стрелки Вызов методов с использованием косвенных объектов Синтаксическая путаница с косвенными объектами Классы, цитирующие имя пакета Создание объектов Наследуемые конструкторы Инициализаторы Наследование классов Наследование через @ISA Доступ к замещенным методам UNIVERSAL: первичный класс предков Автозагрузка методов Закрытые методы Деструкторы экземпляров Сборка мусора методами DESTROY Управление данными экземпляров Объявление полей с помощью use fields Порождение классов с помощью Class::Struct Генерация методов доступа с помощью автозагрузки Создание методов доступа с помощью замыканий Использование замыканий в закрытых объектах Новые приемы Управление данными класса Резюме Глава 13. Перегрузка Прагма overload Обработчики перегрузки Перегружаемые операторы Конструктор копий (=) Когда обработчик перегрузки отсутствует (nomethod Константы перегрузки Открытые функции перегрузки Наследование и перегрузка Перегрузка на этапе исполнения Диагностика перегрузки Глава 14. Связанные переменные Связывание скаляров Методы связывания скаляров Переменные волшебных счетчиков Волшебное изгнание $_ Связывание массивов Методы связывания массивов Удобство обозначений Связывание хешей Методы связывания хешей Связывание указателей файлов Методы привязки файлов Созидающие указатели файлов Тонкая ловушка при отвязывании Модули для связывания в CPAN Часть III. Perl как технология Глава 15. Unicode Байты и символы Действие символьной семантики Осторожно, работают Глава 16. Межпроцессное взаимодействие Сигналы Передача сигналов группе процессов Уборка зомби Завершение медленных операций по тайм-ауту Блокировка сигналов Файлы Блокировка файлов Передача указателей файлов Каналы Анонимные каналы Разговор с самим собой Двунаправленная связь Именованные каналы System V IPC Сокеты Сетевые клиенты Сетевые серверы Передача сообщений Глава 17. Потоки Модель процессов Модель потоков Модуль Thread Доступ к данным Другие модули для работы с потоками Глава 18. Компиляция Жизненный цикл программ на Perl Компилирование кода Выполнение кода Серверы компиляторов Генераторы кода Генератор Bytecode Генераторы кода на C Средства разработки кода Компилятор и интерпретатор: авангардизм и ретро Глава 19. Интерфейс командной строки Обработка команд #! и кавычки в системах, отличных от Unix Местонахождение Perl Ключи Переменные окружения Глава 20. Отладчик Perl Использование отладчика Команды отладчика Пошаговая обработка и прогон Контрольные точки Трассировка Вывод данных Поиск кода Действия и выполнение команд Разные команды Настройка отладчика Поддержка отладки в редакторах Настройка с помощью файлов инициализации Опции отладчика Автоматическое выполнение Поддержка отладчика Создание собственного отладчика Профайлер Perl Глава 21. Внутри и снаружи Как работает Perl Внутренние типы данных Расширение Perl (использование C из Perl) Язык XS и подпрограммы XSUB Создание расширений Ввод и вывод в XSUB Использование функций во внешней библиотеке C Вызов Perl из C Компиляция встроенных программ Добавление интерпретатора Perl в программу на C Вызов подпрограммы Perl из C Выполнение команды Perl из C Игры со стеком Perl из C Мораль «сей басни» Часть IV. Perl как культура Глава 22. CPAN Каталог modules архива CPAN Использование модулей CPAN Декомпрессия и распаковка модулей CPAN Компиляция модулей CPAN Установка модулей CPAN в библиотеку Perl Создание модулей CPAN Внутреннее тестирование Внешнее тестирование Глава 23. Защита данных Обработка ненадежных данных Обнаружение и очистка меченых данных Зачистка окружения Доступ к командам и файлам при ограниченных права Обработка ошибок синхронизации Ошибки защиты в ядре Unix Обработка ситуаций гонки Временные файлы Работа с ненадежным кодом Защищенные разделы Код, маскирующийся под данные Глава 24. Распространенные приемы программирования Обычные промахи новичков Всеобщие ошибки Часто игнорируемые советы Ловушки C Ловушки оболочки Ловушки прежнего Perl Эффективность Эффективность по времени Эффективность по памяти Для эффективности программирования Для эффективности сопровождения Для эффективности перенесения Для эффективности использования Стиль программирования Свободный разговор на Perl Генерирование программ Генерирование других языков на Perl Генерирование Perl в других языках Фильтры исходного кода Глава 25. Переносимость программ Perl Перевод строки Остроконечники, тупоконечники и ширина чисел Файлы и файловые системы Взаимодействие с системой Межпроцессное взаимодействие (IPC) Внешние подпрограммы (XS) Стандартные модули Дата и время Многоязычность Стиль Глава 26. Документация в формате POD О pod в двух словах Дословные абзацы Директивы pod Последовательности pod Трансляторы и модули Pod Создание собственных инструментов для работы с po Ловушки pod Документирование программ Perl Глава 27. Культура Perl История развития Поэзия Perl Часть V. Справочный материал Глава 28. Специальные имена Специальные имена, сгруппированные по типам Специальные переменные регулярных выражений Переменные указателя файла Специальные переменные пакетов Специальные переменные для всей программы Специальные указатели файлов для пакетов Специальные функции для пакетов Специальные переменные в алфавитном порядке Глава 29. Функции Функции Perl по категориям Функции Perl в алфавитном порядке abs accept alarm atan2 bind binmode bless caller chdir chmod chomp chop chown chr chroot close closedir connect cos crypt dbmclose dbmopen defined delete die do (block) do (file) do (subroutine) dump each eof eval exec exists exit exp fcntl fileno flock fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getppid getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt glob gmtime goto grep hex import index int ioctl join keys kill last lc lcfirst length link listen local localtime lock log lstat m// map mkdir msgctl msgget msgrcv msgsnd my new next no oct open opendir ord our pack package pipe pop pos print printf prototype push q/STRING/ quotemeta rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir s/// scalar seek seekdir select (output filehandle) select (готовые дескрипторы файлов) semctl semget semop send setpgrp setpriority setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr/// truncate uc ucfirst umask undef unlink unpack unshift untie use utime values vec wait waitpid wantarray warn write y// Глава 30. Стандартная библиотека Perl Библиотековедение Обзор библиотеки Perl Глава 31. Модули прагм use attributes use autouse use base use blib use bytes use charnames use constant Ограничения на use constant use diagnostics use fields use filetest use filetest 'access' use integer use less use lib use locale use open use overload use re use sigtrap Обработчики сигналов Предопределенные списки сигналов Прочие аргументы sigtrap Примеры sigtrap use strict strict 'refs' strict 'vars' strict 'subs' use subs use vars use warnings Глава 32. Стандартные модули Перечень по типу Типы данных Обработка строк, обработка текста, синтаксический Обработка опций, аргументов, параметров и файлов Имена файлов, файловые системы и блокировка файло Утилиты для работы с указателями файлов, указател Многоязычность и национальные установки Интерфейсы с операционной системой Сетевое и межпроцессное взаимодействие World Wide Web Интерфейсы DBM Пользовательские интерфейсы Аутентификация, безопасность и шифрование Язык Perl: расширения и свойства (extentions & in Классы с удобствами Предупреждения и исключительные ситуации Поддержка документации Поддержка установки модулей Поддержка разработки Компилятор и генератор кода Perl Модули для систем Microsoft Benchmark Carp CGI CGI::Carp Class::Struct Config CPAN Cwd Data::Dumper DB_File Dumpvalue English Errno Exporter Fatal Fcntl File::Basename File::Compare File::Copy File::Find File::Glob File::Spec File::stat File::Temp FileHandle Getopt::Long Getopt::Std IO::Socket IPC::Open2 IPC::Open3 Math::BigInt Math::Complex Math::Trig Net::hostent POSIX Safe Socket Symbol Sys::Hostname Sys::Syslog Term::Cap Text::Wrap Time::Local Time::localtime User::grent User::pwent Глава 33. Диагностические сообщения Глоссарий Алфавитный указатель

قیمت نهایی

۴۴٬۰۰۰ تومان