Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]
Краткое содержание
Глава 1 Строки
Глава 2 Числа
Глава 3 Дата и время
Глава 4 Массивы
Глава 5 Хэши
Глава 6 Поиск по шаблону
Глава 7 Доступ к файлам
Глава 8 Содержимое файлов
Глава 9 Каталоги
Глава 10 Подпрограммы
Глава 11 Ссылки и записи
Глава 12 Пакеты, библиотеки и модули
Глава 13 Классы, объекты и связи
Глава 14 Базы данных
Глава 15 Пользовательские интерфейсы
Глава 16 Управление процессами и межпроцессные взаимодействия
Глава 17 Сокеты
Глава 18 Протоколы Интернета
Глава 19 Программирование CGI
Глава 20 Автоматизация в Web
Алфавитный указатель
Содержание
Предисловие
Введение
Благодарности
Глава 1. Строки
1.1. Работа с подстроками
1.2. Выбор значения по умолчанию
1.3. Перестановка значений без использования временных переменных
1.4. Преобразование между символами и ASCII-кодами
1.5. Посимвольная обработка строк
1.6. Обратная перестановка слов или символов
1.7. Расширение и сжатие символов табуляции
1.8. Расширение переменных во входных данных
1.9. Преобразование регистра
1.10. Интерполяция функций и выражений в строках
1.11. Отступы во встроенных документах
1.12. Переформатирование абзацев
1.13. Служебные преобразования символов
1.14. Удаление пропусков в обоих концах строки
1.15. Анализ данных, разделенных запятыми
1.16. Сравнение слов с похожим звучанием
1.17. Программа: fixstyle
1.18. Программа: psgrep
Глава 2. Числа
2.1. Проверка строк на соответствие числам
2.2. Сравнение чисел с плавающей запятой
2.3. Округление чисел с плавающей запятой
2.4. Преобразования между двоичной и десятичной системами счисления
2.5. Действия с последовательностями целых чисел
2.6. Работа с числами в римской записи
2.7. Генератор случайных чисел
2.8. Раскрутка генератора случайных чисел
2.9. Повышение фактора случайности
2.10. Генерация случайных чисел с неравномерным распределением
2.11. Выполнение тригонометрических вычислений в градусах
2.12. Тригонометрические функции
2.13. Вычисление логарифмов
2.14. Умножение матриц
2.15. Операции с комплексными числами
2.16. Преобразования восьмеричных и шестнадцатеричных чисел
2.17. Вывод запятых в числах
2.18. Правильный вывод во множественном числе
2.19. Программа: разложение на простые множители
Глава 3. Дата и время
3.1. Определение текущей даты
3.2. Преобразование полного времени в секунды с начала эпохи
3.3. Преобразование секунд с начала эпохи в полное время
3.4. Операции сложения и вычитания для дат
3.5. Вычисление разности между датами
3.6. Определение номера недели или дня недели/месяца/года
3.7. Анализ даты и времени в строках
3.8. Вывод даты
3.9. Таймеры высокого разрешения
3.10. Короткие задержки
3.11. Программа: hopdelta
Глава 4. Массивы
4.1. Определение списка в программе
4.2. Вывод списков с запятыми
4.3. Изменение размера массива
4.4. Выполнение операции с каждым элементом списка
4.5. Перебор массива по ссылке
4.6. Выборка уникальных элементов из списка
4.7. Поиск элементов одного массива, отсутствующих в другом массиве
4.8. Вычисление объединения, пересечения и разности уникальных списков
4.9. Присоединение массива
4.10. Обращение массива
4.11. Обработка нескольких элементов массива
4.12. Поиске первого элемента списка, удовлетворяющего некоторому критерию
4.13. Поиск всех элементов массив удовлетворяющих определенному критерию
4.14. Числовая сортировка массива
4.15. Сортировка списка по вычисляемому полю
4.16. Реализация циклических списков
4.17. Случайная перестановка элементов массива
4.18. Программа: words
4.19. Программа: permute
Глава 5. Хэши
5.1. Занесение элемента в хэш
5.2. Проверка наличия ключа в хэше
5.3. Удаление из хэша
5.4. Перебор хэша
5.5. Вывод содержимого хэша
5.6. Перебор элементов хэша в порядке вставки
5.7. Хэши с несколькими ассоциированными значениями
5.8. Инвертирование хэша
5.9. Сортировка хэша
5.10. Объединение хэшей
5.11. Поиск общих или различающихся ключей в двух хэшах
5.12. Хэширование ссылок
5.13. Предварительное выделение памяти для хэша
5.14. Поиск самых распространенных значений
5.15. Представление отношений между данными
5.16. Программа: dutree
Глава 6. Поиск по шаблону
6.1. Копирование с подстановкой
6.2. Идентификация алфавитных символов
6.3. Поиск слов
6.4. Комментирование регулярных выражений
6.5. Поиск N-го совпадения
6.6. Межстрочный поиск
6.7. Чтение записей с разделением по шаблону
6.8. Извлечение строк из определенного интервала
6.9. Работа с универсальными символами командных интерпретаторов
6.10. Ускорение интерполированного поиска
6.11. Проверка правильности шаблона
6.12. Локальный контекст в регулярных выражениях
6.13. Неформальный поиск
6.14. Поиск от последнего совпадения
6.15. Максимальный и минимальный поиск
6.16. Поиск повторяющихся слов
6.17. Логические AND, OR и NOT в одном шаблоне
6.18. Поиск многобайтовых символов
6.19. Проверка адресов электронной почты
6.20. Поиск сокращений
6.21. Программа: urlify
6.22. Программа: tcgrep
6.23. Копилка регулярных выражений
Глава 7. Доступ к файлам
7.1. Открытие файла
7.2. Открытие файлов с нестандартными именами
7.3. Тильды в именах файлов
7.4. Имена файлов в сообщениях об ошибках
7.5. Создание временных файлов
7.6. Хранение данных в тексте программы
7.7. Создание фильтра
7.8. Непосредственная модификация файла с применением временной копии
7.9. Непосредственная модификация файла с помощью параметра -i
7.10. Непосредственная модификация файла без применения временного файла
7.11. Блокировка файла
7.12. Очистка буфера
7.13. Асинхронное чтение из нескольких манипуляторов
7.14. Асинхронный ввод/вывод
7.15. Определение количества читаемых байтов
7.16. Хранение файловых манипуляторов в переменных
7.17. Кэширование открытых файловых манипуляторов
7.18. Одновременный вывод через несколько файловых манипуляторов
7.19. Открытие и закрытие числовых файловых дескрипторов
7.20. Копирование файловых манипуляторов
7.21. Программа: netlock
7.22. Программа: lockarea
Глава 8. Содержимое файлов
8.1. Чтение строк с символами продолжения
8.2. Подсчет строк (абзацев, записей) в файле
8.3. Обработка каждого слова в файле
8.4. Чтение файла по строкам или абзацам в обратном направлении
8.5. Чтение из дополняемого файла
8.6. Выбор случайной строки из файла
8.7. Случайная перестановка строк
8.8. Чтение строки с конкретным номером
8.9. Обработка текстовых полей переменной длины
8.10. Удаление последней строки файла
8.11. Обработка двоичных файлов
8.12. Ввод/вывод с произвольным доступом
8.13. Обновление файла с произвольным доступом
8.14. Чтение строки из двоичного файла
8.15. Чтение записей фиксированной длины
8.16. Чтение конфигурационных файлов
8.17. Проверка достоверности файла
8.18. Программа: tailwtmp
8.19. Программа: tctee
8.20. Программа: laston
Глава 9. Каталоги
9.1. Получение и установка атрибутов времени
9.2. Удаление файла
9.3. Копирование или перемещение файла
9.4. Распознавание двух имен одного файла
9.5. Обработка всех файлов каталога
9.6. Получение списка файлов по шаблону
9.7. Рекурсивная обработка всех файлов каталога
9.8. Удаление каталога вместе с содержимым
9.9. Переименование файлов
9.10. Деление имени файла на компоненты
9.11. Программа: symirror
9.12. Программа: 1st
Глава 10. Подпрограммы
10.1. Доступ к аргументам подпрограммы
10.2. Создание закрытых переменных в функциях
10.3. Создание устойчивых закрытых переменных
10.4. Определение имени текущей функции
10.5. Передача массивов и хэшей по ссылке
10.6. Определение контекста вызова
10.7. Передача именованных параметров
10.8. Пропуск некоторых возвращаемых значений
10.9. Возврат нескольких массивов или хэшей
10.10. Возвращение признака неудачного вызова
10.11. Прототипы функций
10.12. Обработка исключений
10.13. Сохранение глобальных значений
10.14. Переопределение функции
10.15. Перехват вызовов неопределенных функций с помощью AUTOLOAD
10.16. Вложенные подпрограммы
10.17. Сортировка почты
Глава 11. Ссылки и записи
11.1. Ссылки на массивы
11.2. Создание хэшей массивов
11.3. Получение ссылок на хэши
11.4. Получение ссылок на функции
11.5. Получение ссылок на скаляры
11.6. Создание массивов ссылок на скаляры
11.7. Применение замыканий вместо объектов
11.8. Создание ссылок на методы
11.9. Конструирование записей
11.10. Чтение и сохранение записей в текстовых файлах
11.11. Вывод структур данных
11.12. Копирование структуры данных
11.13. Сохранение структур данных на диске
11.14. Устойчивые структуры данных
11.15. Программа: бинарные деревья
Глава 12. Пакеты, библиотеки и модули
12.1. Определение интерфейса модуля
12.2. Обработка ошибок require и use
12.3. Отложенное использование модуля
12.4. Ограничение доступа к переменным модуля
12.5. Определение пакета вызывающей стороны
12.6. Автоматизированное выполнение завершающего кода
12.7. Ведение собственного каталога модулей
12.8. Подготовка модуля к распространению
12.9. Ускорение загрузки модуля с помощью SelfLoader
12.10. Ускорение загрузки модуля с помощью AutoLoader
12.11. Переопределение встроенных функций
12.12. Вывод сообщений об ошибках и предупреждений по аналогии со встроенными функциями
12.13. Косвенные ссылки на пакеты
12.14. Применение h2ph для преобразования заголовочных файлов С
12.15. Применение h2xs для создания модулей с кодом С
12.16. Документирование модуля в формате pod
12.17. Построение и установка модуля CPAN
12.18. Пример: шаблон модуля
12.19. Программа: поиск версий и описаний установленных модулей
Глава 13. Классы, объекты и связи
13.1. Конструирование объекта
13.2. Уничтожение объекта
13.3. Работа с данными экземпляра
13.4. Управление данными класса
13.5. Использование класса как структуры
13.6. Клонирование объектов
13.7. Косвенный вызов методов
13.8. Определение принадлежности субкласса
13.9. Создание класса с поддержкой наследования
13.10. Вызов переопределенных методов
13.11. Генерация методов доступа с помощью AUTOLOAD
13.12. Решение проблемы наследования данных
13.13. Использование циклических структур данных
13.14. Перегрузка операторов
13.15. Создание "магических" переменных функцией tie
Глава 14. Базы данных
l4.1. Создание и использование DBM-файла
14.2. Очистка DBM-файла
14.3. Преобразование DBM-файлов
14.4. Объединение DBM-файлов
14.5. Блокировка DBM-файлов
14.6. Сортировка больших DBM-файлов
14.7. Интерпретация текстового файла в виде строковой базы данных
14.8. Хранение сложных структур данных в DBM-файлах
14.9. Устойчивые данные
14.10. Выполнение команд SQL с помощью DBI и DBD
14.11. Программа: ggh - поиск в глобальном журнале Netscape
Глава 15. Пользовательские интерфейсы
15.1. Лексический анализ аргументов
15.2. Проверка интерактивного режима
15.3. Очистка экрана
15.4. Определение размера терминала или окна
15.5. Изменение цвета текста
15.6. Чтение с клавиатуры
15.7. Предупреждающие сигналы
15.8. Использование termios
15.9. Проверка наличия входных данных
15.10. Ввод пароля
15.11. Редактирование входных данных
15.12. Управление экраном
15.13. Управление другой программой с помощью Expect
15.14. Создание меню с помощью Tk
15.15. Создание диалоговых окон с помощью Tk
15.16. Обработка событий масштабирования в Tk
15.17. Удаление окна сеанса DOS в Perl/Tk для Windows
15.18. Программа: tcapdemo
15.19. Программа: tkshufflepod
Глава 16. Управление процессами и межпроцессные взаимодействия
16.1. Получение вывода от программы
16.2. Запуск другой программы
16.3. Замена текущей программы
16.4. Чтение или запись в другой программе
16.5. Фильтрация выходных данных
16.6. Предварительная обработка ввода
16.7. Чтение содержимого STDERR
16.8. Управление потоками ввода и вывода другой программы
16.9. Управление потоками ввода, вывода и ошибок другой программы
16.10. Взаимодействие между родственными процессами
16.11. Имитация файла на базе именованного канала
16.12. Совместное использование переменных в разных процессах
16.13. Получение списка сигналов
16.14. Посылка сигнала
16.15. Установка обработчика сигнала
16.16. Временное переопределение обработчика сигнала.
16.17. Написание обработчика сигнала
16.18. Перехват Ctrl+C
16.19. Уничтожение процессов-зомби
16.20. Блокировка сигналов
16.21. Тайм-аут
16.22. Программа: sigrand
Глава 17. Сокеты
17.1. Написание клиента TCP
17.2. Написание сервера TCP
17.3. Передача данных через TCP
17.4. Создание клиента UDP
17.5. Создание сервера UDP
17.6. Использование сокетов UNIX
17.7. Идентификация другого конца сокета
17.8. Определение вашего имени и адреса
17.9. Закрытие сокета после разветвления
17.10. Написание двусторонних клиентов
17.11. Разветвляющие серверы
17.12. Серверы с предварительным ветвлением
17.13. Серверы без ветвления
17.14. Написание распределенного сервера
17.15. Создание сервера-демона
17.16. Перезапуск сервера по требованию
17.17. Программа: backsniff
17.18. Программа: fwdport
Глава 18. Протоколы Интернета
18.1. Простой поиск в DNS
18.2. Клиентские операции FTP
18.3. Отправка почты
18.4. Чтение и отправка новостей Usenet
18.5. Чтение почты на серверах РОРЗ
18.6. Программная имитация сеанса telnet
18.7. Проверка удаленного компьютера
18.8. Применение whois для получения данных от InterNIC
18.9. Программа: ехрn и vrfy
Глава 19. Программирование CGI
19.1. Написание сценария CGI
19.2. Перенаправление сообщений об ошибках
19.3. Исправление ошибки 500 Server Error
19.4. Написание безопасных программ CGI
19.5. Повышение эффективности сценариев CGI
19.6. Выполнение команд без обращений к командному интерпретатору
19.7. Форматирование списков и таблиц средствами HTML
19.8. Перенаправление клиентского броузера
19.9. Отладка на уровне HTTP
19.10. Работа с cookies
19.11. Создание устойчивых элементов
19.12. Создание многостраничного сценария CGI
19.13. Сохранение формы в файле или канале
19.14. Программа: chemiserie
Глава 20. Автоматизация в Web
20.1. Выборка URL из сценария Perl
20.2. Автоматизация подачи формы
20.3. Извлечение URL
20.4. Преобразование ASCII в HTML
20.5. Преобразование HTML в ASCII
20.6. Удаление тегов HTML
20.7. Поиск устаревших ссылок
20.8. Поиск свежих ссылок
20.9. Создание шаблонов HTML
20.10. Зеркальное копирование Web-страниц
20.11. Создание робота
20.12. Анализ файла журнала Web-сервера
20.13. Обработка серверных журналов
20.14. Программа: htmlsub
20.15. Программа hrefsub
Алфавитный указатель
Начало
О чем эта книга
Предисловие
Введение
Заказать книгу в магазине "Мистраль"