Учебники, справочники и самоучители скачать бесплатно

 
Главная · Регистрация · Вход · Форум · Блог · Статьи · Каталог сайтов · Доска объявлений · Гостевая книга.
Учебники и справочники по:
Последние темы Блога
Последние темы форума

Полное руководство по Perl

Содержание:

Введение
Что есть в этой книге
Что еще вам потребуется
Другие ресурсы
От издательства
Часть I.
Глава 1. Основы Perl
Коротко
Непосредственные решения
Как скопировать и установить Perl
Как написать сценарий для Perl
Убедитесь, что сценарий сможет найти Perl
Unix
MS-DOS
Windows 95/98 и Windows NT
Macintosh
Как написать программу Perl: команды и описания
Выполнение сценариев Perl
Как ваш сценарий может найти Perl сам
Как использовать командную строку
Интерактивное выполнение сценариев Perl
Ключи командной строки
Ключ -w и проверка синтаксиса
Текстовый ввод и вывод с помощью стандартных дескрипторов файлов
Вывод текста
Печать номера текущей строчки сценария и имени сценария
Повтор текста при печати
Основные команды форматирования
Вывод неформатированного текста: встроенные документы
Комментарии
Чтение потока ввода
Специальная переменная $_
Очистка введенного текста
Как избежать немедленного закрытия окна MS-DOS в Windows 95/98/NT
Глава 2. Скалярные переменные и списки
Коротко
Скалярные переменные
Списки
Непосредственные решения
Что такое скалярная переменная?
Имена скалярных переменных
Присвоение скалярных переменных
Что такое "левое значение"?
Использование чисел в скалярных переменных
Работа с неопределенными данными: идентификатор undef
Описание констант
Работа с логическими данными в Perl
Преобразование восьмеричных, десятичных и шестнадцатеричных чисел
Преобразование шестнадцатеричного числа в десятичное
Преобразование десятичного числа в шестнадцатеричное
Преобразование восьмеричного числа в десятичное
Преобразование десятичного числа в восьмеричное
Округление чисел
Использование строк в скалярных переменных
Символ новой строки в текстовых строках
Подстановка переменных (интерполяция строк)
Сложные случаи интерполяции
Обработка кавычек и слов без кавычек
Что такое список?
Ссылка на элементы списка через индекс
Присваивание списков спискам
Преобразование списка
Объединение элементов списка в строку
Превращение строки в список
Сортировка списков
Инвертирование списка
Выбор элементов из списка
Скалярный и списковый контексты
Форсирование скалярного контекста
Глава 3. Массивы, хэши и записи таблицы символов
Коротко
Массивы
Хэши
Записи таблицы символов typeglob
Непосредственные решения
Создание массивов
Использование массивов
Операции push и pop
Операции shift и unshift
Определение длины массива
Увеличение или сужение массива
Слияние двух массивов
Получение среза массива
Циклы и массивы
Вывод массива
Сращивание (splicing) массива
Инвертирование массива
Сортировка массива
Создание хэшей
Использование хэшей
Добавление элементов в хэш
Проверка хэша на наличие элемента
Удаление элементов хэша
Циклы по хэшу
Вывод хэша
Сортировка хэша
Слияние хэшей
Использование хэшей и массивов в присвоении списком
Использование типа данных typeglob
Тип данных typeglob и записи в таблице символов
Глава 4. Операторы и приоритеты операторов
Коротко
Приоритет операторов
Непосредственные решения
Наивысший приоритет: термы и списки, стоящие справа
Оператор-стрелка
Автоприращение и автоуменьшение
Возведение в степень
Унарные операторы
Оператор связывания
Умножение и деление
Сложение, вычитание и конкатенация
Оператор сдвига
Именованные унарные операторы
Операторы проверки файлов
Операторы сравнения
Операторы равенства
Побитное "И"
Побитное "ИЛИ"
Побитное "Исключающее ИЛИ"
Логическое "И" в стиле языка С
Логическое "ИЛИ" в стиле языка С
Оператор диапазона в списковом контексте
Оператор диапазона в скалярном контексте
Тернарный условный оператор
Оператор присвоения
Оператор-запятая
Списки, стоящие слева
Логическое NOT
Логическое AND
Логическое OR
Логическое XOR
Глава 5. Условные операторы и циклы
Краткое введение
Условные операторы
Операторы цикла
Немедленные решения
Условный оператор if
Команда unless
Оператор цикла for
Оператор цикла foreach
Оператор цикла while
Оператор цикла until
Модификаторы if, unless, until, while и for
Как создать цикл do while
Команда next: как перейти к следующей итерации
Команда last: как прервать выполнение цикла
Команда redo: как вернуться к началу итерации
Блок команд как оператор цикла
Создание переключателей switch
Оператор безусловной передачи управления goto
Выполнение кода Perl с помощью команды eval
Выход из программы с помощью команды exit
Выход из программы с помощью команды die
Глава 6. Регулярные выражения
Коротко
Использование регулярных выражений
Оператор проверки совпадений m/.../
Оператор подстановки s/.../.../
Оператор замены tr/.../.../
Непосредственные решения
Создание регулярных выражений
Одиночные символы в регулярных выражениях
Совпадение с любым символом
Классы символов в регулярных выражениях
Альтернативные шаблоны в регулярных выражениях
Квантификаторы в регулярных выражениях
"Жадность" квантификаторов
Мнимые символы в регулярных выражениях
Ссылки на найденный текст
Дополнительные конструкции в регулярных выражениях
Модификаторы команд m/.../ и s/.../.../
Особенности работы команд m/.../ и s/.../.../
Предварительная обработка регулярных выражений
Работа команды m/.../ в режиме однократного поиска
Работа команды m/.../ в режиме глобального поиска
Замена строк с помощью команды tr/.../.../
Модификаторы команды tr/.../.../
Поиск отдельных слов
Привязка к началу строки
Привязка к концу строки
Поиск чисел
Проверка идентификаторов
Как найти множественные совпадения
Поиск нечувствительных к регистру совпадений
Выделение подстроки
Вызов функций и вычисление выражений при подстановке текста
Поиск n-го совпадения
Как ограничить "жадность" квантификаторов
Как удалить ведущие и завершающие пробелы
Утверждения, проверяющие текст перед и после шаблона
Глава 7. Подпрограммы
Коротко
Работа с подпрограммами
Непосредственные решения
Объявление подпрограмм
Использование прототипов
Определение прототипов
Вызов подпрограмм
Чтение аргументов, переданных подпрограмме
Использование переменного числа параметров
Использование значений по умолчанию
Значения, возвращаемые подпрограммами (функциями)
Управление областью видимости (ключевые слова my и local)
Требование обязательной лексической области видимости
Создание временных переменных (ключевое слово local)
Постоянные (статические) переменные
Рекурсивный вызов подпрограмм
Вложенные подпрограммы
Передача параметров по ссылке
Передача записи таблицы символов (тип данных typeglob)
Проверка контекста вызова функции: функция wantarray
Создание встраиваемых функций
Замещение встроенных функций. Псевдопакет CORE
Непоименованные подпрограммы
Создание таблиц диспетчеризации подпрограмм
Глава 8. Ссылки в Perl
Коротко
Жесткие ссылки
Символические ссылки
Оператор-стрелка
Анонимные массивы, хэш-таблицы, подпрограммы
Непосредственные решения
Создание ссылки
Ссылки на анонимные массивы
Ссылки на анонимные хэши
Ссылки на анонимные подпрограммы
Как извлечь ссылку из таблицы символов
Разыменование ссылок
Разыменование ссылок с помощью оператора-стрелки
Когда можно опускать оператор-стрелку
Как определить тип ссылки с помощью оператора ref
Создание символических ссылок
Запрет символических ссылок
Использование ссылок на массивы как ссылок на хэши
Как создать замыкание области видимости в устойчивую форму
Создание функций на основе шаблонов
Часть II.
Глава 9. Встроенные переменные
Коротко
Развернутые имена встроенных переменных
Настройка встроенных переменных на конкретные дескрипторы файлов
Непосредственные решения
$' - строка, следующая за совпадением
$- - число строк, оставшихся на странице
$! - текущая ошибка
$" - разделитель полей массивов при интерполировании
$# - формат вывода чисел с плавающей точкой
$$ - идентификатор процесса Perl
$% - текущая страница вывода
$& - совпадение с шаблоном поиска
$( - реальный идентификатор группы пользователей (real GID)
$) - текущий идентификатор группы пользователей (effective GID)
$* - совпадение с шаблоном поиска
$, - разделитель полей вывода
$. - текущий номер строки ввода
$/ - разделитель входных записей
$: - маркер разбивки строки
$; - разделитель индексов
$? - статус последней системной операции
$@ - ошибка выполнения функции eval
$[ - базовый индекс массивов
$\ - разделитель выходных записей
$] - версия Perl
$^ - текущий формат колонтитула страницы
$^A - накопитель команды write
$^D- текущие флаги отладки
$^E- информация об ошибке, специфичная для операционной системы
$^F - максимальное количество дескрипторов файлов
$^H - флаги проверки синтаксиса
$^I - расширение файлов для редактирования "по месту"
$^L - символ прогона страницы
$^M - буфер памяти "на крайний случай"
$^O - имя операционной системы
$^P - поддержка отладки
$^R - результат вычисления утверждения в теле шаблона
$^S - состояние интерпретатора
$^T - время запуска сценария на выполнение
$^W - режим вывода предупреждающих сообщений
$^X - имя программы-интерпретатора
$_ - аргумент по умолчанию
$` - строка, следующая перед совпадением
$| - управление буфером вывода
$~ - имя текущего формата отчетов
$+ - фрагмент совпадения
$< - реальный идентификатор пользователя (Real User ID)
$= - текущий размер страницы
$> - текущий идентификатор пользователя (Effective User ID)
$O - имя программы
$ARGV - имя входного файла
$nn - nn-й фрагмент совпадения
%ENV - переменные окружения
%INC - подключаемые файлы
%SIG - обработчики ситуаций
@_ - аргументы, переданные подпрограмме
@ARGV - аргументы, переданные в командной строке
@INC - пути поиска подключаемых файлов
Глава 10. Встроенные функции: обработка данных
Коротко
Непосредственные решения
abs - абсолютное значение
atan2 - арктангенс
chomp - удаление конца строки
chop - удаление последнего символа строки
chr - преобразование числа в символ
cos - косинус
each - пара ключ/значение из хэша
eval - компилирование и выполнение команд Perl
exists - проверка ключа в хэше
exp - вычисление экспоненциальной функции
hex - преобразование шестнадцатеричного числа
index - положение подстроки
int - целая часть числа
join - преобразование списка в строку
keys - список ключей хэша
lc - преобразование букв к нижнему регистру
lcfirst - преобразование первой буквы к нижнему регистру
length - длина строки
log - натуральный логарифм
map - выполнить команду для каждого элемента списка
oct - преобразование восьмеричного числа
ord - преобразование символа в код
pack - упаковка значений
pop - извлечение данных из массива
Функции POSIX
push - добавление данных к массиву
rand - случайное число
reverse - переставить список в обратном порядке
rindex - положение подстроки
scalar - форсирование скалярного контекста
shift - извлечение первого элемента массива
sin - синус
sort - сортировка списка
splice - замена среза массива
split - разбивка строки на список строк
sprintf - форматирование строки
sqrt - квадратный корень
srand - инициатор генератора случайных чисел
substr - подстрока текстовой строки
time - время в секундах с 1 января 1970 года
uc - преобразование букв к верхнему регистру
ucfirst - преобразование первой буквы к верхнему регистру
unpack - упаковка значений
unshift - добавление первого элемента в массив
values - список значений хэша
vec - вектор целых значений без знака
Глава 11. Встроенные функции: ввод/вывод и межпроцессные взаимодействия
Коротко
Форматы Perl
Непосредственные решения
print - печать списка данных
printf - печать форматированного списка данных
Чтение входного потока <>
getc - считать одиночный символ
write - вывод форматированной записи
Форматы: текст, выровненный по левому краю
Форматы: текст, выровненный по правому краю
Форматы: центрированный текст
Форматы: печать чисел
Форматы: форматированный многострочный вывод
Форматы: форматированный многострочный вывод с вырезкой нужного текста
Форматы: неформатированный многострочный вывод
Форматы: вывод колонтитула (заголовка страницы)
Форматы: вывод нижнего колонтитула
Форматы: специальные переменные Perl
Форматы: формальный синтаксис
warn - вывод предупреждающих сообщений
IPC: exec - системный вызов
IPC: system - ветвление и выполнение системной команды
IPC: как прочитать данные, переданные другой программой
IPC: как переслать данные другой программе
IPC: вывод данных в дочерний процесс
IPC: вывод данных в родительский процесс
IPC: как переслать сигнал другому процессу
IPC: использование сокетов1
IPC: использование технологии Win32 OLE Automation1
Глава 12. Встроенные функции: работа с файлами
Коротко
Кое-что о работе с файлами
Непосредственные решения
open - открытие файла
close - закрытие файла
print - вывод в файл
write - запись в файл
binmode - установка двоичного режима
Управление буферизацией вывода
Чтение файлов, переданных через командную строку
Чтение из дескриптора файла
read - чтение входных данных
readline - считывание строки ввода
getc - считывание одиночного символа
seek - поиск заданной позиции в файле
tell - текущая позиция в файле
stat - информация о файле
Файловые функции модуля POSIX
select - выбор дескриптора файла для STDOUT
eof - проверка конца файла
Запись базы данных DBM
Как прочитать файл базы данных формата DBM
flock - блокировка файла
chmod - изменение прав доступа к файлу
rename - переименование файлов
glob - поиск файлов по шаблону
unlink - удаление файлов
opendir - открытие каталога
closedir - закрытие каталога
readdir - чтение содержимого каталога
seakdir - установка текущей позиции в каталоге
telldir - чтение текущей позиции в каталоге
rewinddir - установка текущей позиции на начало каталога
chdir - смена текущего каталога
mkdir - создание нового каталога
rmdir - удалить каталог
Часть III. Программирование
Глава 13. Стандартные модули
Коротко
Использование модулей Perl
Непосредственные решения
Term::Cap - работа с терминалом
Math - комплексные числа и числа большой разрядности
POSIX - функции Portable Operating System Interface
Benchmark - тестирование производительности
Time - измерение времени и преобразование форматов времени
Carp - сообщения об ошибках с указанием точки вызова
locale - использование локальных настроек компьютера
File - операции с файлами
Net - доступ к сети Интернет
Safe - безопасное выполнение кода
Tk - средства работы с библиотекой Tk
Tk: кнопки и текстовые интерфейсные элементы
Tk: кнопки с зависимой и независимой фиксацией
Tk: интерфейсный элемент "список"
Tk: интерфейсный элемент "шкала"
Tk: интерфейсные элементы графики ("канва")
Tk: интерфейсные элементы меню
Tk: окна диалога
Глава 14. Структуры данных
Коротко
Подсказка: используйте команду use strict vars
Непосредственные решения
Сложные записи: хранение ссылок и других элементов
Объявление массива массивов
Создание массива массивов "на лету"
Доступ к элементам массива массивов
Объявление хэша хэшей
Создание хэша хэшей "на лету"
Доступ к элементам хэша хэшей
Объявление массива хэшей
Создание массива хэшей "на лету"
Доступ к элементам массива хэшей
Объявление хэша массивов
Создание хэша массивов "на лету"
Доступ к элементам хэша массивов
Связные списки и кольцевые буферы
Глава 15. Создание пакетов и модулей
Коротко
Пакеты
Модули
Непосредственные решения
Как создать пакет
Создание пакета: конструктор BEGIN
Создание пакета: деструктор END
Как определить текущий пакет
Как разбить пакет на несколько файлов
Создание модулей
Документирование модулей
Как по умолчанию экспортировать имена модуля
Как разрешить экспорт имени, но по умолчанию его не экспортировать
Как отключить импорт имен при загрузке модуля
Как запретить экспорт имени
Экспортирование без помощи метода import
Создание вложенных модулей
Проверка версии модуля
Автозагрузка модулей
Использование автозагрузки и самозагрузки подпрограмм
Глава 16. Создание классов и объектов
Коротко
Классы
Объекты
Методы
Наследование
Непосредственные решения
Создание класса
Создание конструктора
Создание объекта
Создание метода класса
Создание метода экземпляра
Вызов метода
Создание переменной экземпляра
Создание приватных методов и данных
Создание переменной класса
Создание деструктора
Как реализовать наследование классов
Наследование конструкторов
Наследование переменных экземпляра
Наследование методов
Наследование методов: виртуальные методы
Наследование методов: методы инициализации
Наследование переменных класса
Множественное наследование
Множественное наследование: проблемы
Наследование данных
Наследование методов
Замещение методов
Переменные класса
Конструкторы
Деструкторы
Инкапсуляция вместо наследования
Связывание переменных
Связывание скалярных переменных
Связывание массивов
Связывание хэшей
Использование класса Perl UNIVERSAL
Глава 17. Отладка сценариев Perl. Руководство по стилю программирования
Коротко
Пример сеанса отладки
Непосредственные решения
Перехват ошибок времени выполнения
Запуск отладчика
Доступные команды отладчика
Просмотр исходного кода
Пошаговое выполнение
Пошаговое выполнение без захода в подпрограммы
Установка точек прерывания
Удаление точек прерывания
Запуск программы до следующей точки остановки
Печать выражения
Вычисление выражения
Изменение значений переменных
Установка глобальных условий
Установка отладочных действий
Выход из отладчика
Руководство по стилю программирования на Perl
Часть IV. Создание
Глава 18. CGI-программирование
Коротко
Использование CGI.pm
Создание и использование элементов управления HTML
Непосредственные решения
Использование языка PerlScript
Начинаем HTML-документ
Создаем заголовки HTML
Центрируем элементы
Создаем маркированный список
Создаем гиперссылку
Создаем горизонтальную полосу
Создаем HTML-форму
Работаем с текстовыми полями
Чтение данных из элементов управления HTML
Работаем с текстовыми областями
Работаем с кнопками с независимой фиксацией
Работаем со списками
Работаем с кнопками с зависимой фиксацией
Работаем с раскрывающимся списком
Работаем со скрытыми полями данных
Создаем кнопки отмены и подтверждения
Закрываем HTML-форму
Закрываем HTML-документ
Функционально-ориентированное CGI-программирование
Глава 19. CGI-программирование с использованием cgi-lib.pl
Коротко
Использование cgi-lib.pl
Непосредственные решения
Какие подпрограммы входят в состав cgi-lib.pl?
Начинаем документ HTML
Создаем заголовки HTML
Центрируем элементы HTML
Создаем маркированный список
Создаем гиперссылку
Создаем горизонтальную линию
Создаем форму HTML
Работаем с текстовыми полями
Читаем данные из элементов управления HTML
Работаем с текстовыми областями
Работаем с кнопками с независимой фиксацией
Работаем со списками
Работаем с кнопками с зависимой фиксацией
Работаем с раскрывающимися списками
Работаем со скрытыми полями данных
Создание кнопок Submit и Reset
Закрываем форму HTML
Завершаем документ HTML
Выводим все переменные
Глава 20. CGI: счетчики посещений, гостевые книги, отправка электронной почты и вопросы защиты системы
Коротко
Защита CGI
Непосредственные решения
Серьезно беремся за защиту
Работаем с мечеными данными
Очистка данных
Предоставляем CGI-сценарию большие привилегии в системе UNIX
Создаем счетчик посещений
Создаем гостевую книгу
Отправка почтовых сообщений из CGI-сценария
Глава 21. CGI: многопользовательские чаты, теневые посылки (cookies) и игры
Коротко
Приложение для поддержки многопользовательской беседы (chat)
Теневые посылки (cookies)
Игра
Непосредственные решения
Создаем приложение для многопользовательской беседы
Проблемы защиты в системе со многими пользователями
Обработка атак типа "отказ от обслуживания"
Болтаем из броузера
Устанавливаем период обновления HTML
Очищаем обновленные элементы HTML
Читаем и записываем теневые посылки (cookies)
Использование теневых посылок
Как записать теневую посылку
Как прочитать теневую посылку
Создаем игру
Хранение данных между вызовами сценария в Web-страницах
Настраиваем игру
Алфавитный указатель

 

Размер файла : 1044 КБ
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0