Программирование на языке Perl
Программирование на языке Perl — это процесс создания программ с использованием высокоуровневого интерпретируемого языка, созданного американским лингвистом и разработчиком Ларри Уоллом. Первоначально Perl был разработан для обработки текстов, но со временем его функциональность расширилась.
Perl programming language - SourceForge Community Blog
Особенности
Поддержка регулярных выражений (regex) — шаблонов, которые позволяют находить и изменять текст в соответствии с заданными критериями. В языке реализован богатый синтаксис для работы с regex, что даёт возможность создавать сложные шаблоны для поиска, замены, извлечения, проверки печатного текста.
Поддержка различных парадигм (процедурный, объектно-ориентированный и функциональный стили программирования).
Автоматическая типизация данных и автоматический контроль над памятью. Интерпретатор знает тип и запросы памяти каждого объекта программы, он распределяет и освобождает память, производя подсчёт ссылок.
Богатая экосистема модулей — благодаря CPAN (Comprehensive Perl Archive Network) программисты имеют доступ к готовым решениям для разных прикладных задач. Это ускоряет разработку, так как не надо писать всё с нуля.
Кроссплатформенность — написанный на Perl код можно запускать в разных операционных системах без значительных изменений.
-
Cамоучитель по Perl
Язык Perl создан системным программистом Ларри Уоллом (Larry Wall) как средство UNIX, позволяющее "склеивать" из программок, выполняющих отдельные функции, большие сценарии для решения комплекса задач, связанных с администрированием, обработкой текста и т. д. В дальнейшем он вышел за эти рамки, превратился в настоящий язык программирования, в котором нашли отражение многие тенденции, обозначившиеся в технологии программирования за последнее десятилетие, и получил широкое распространение в связи с развитием Inernet. Perl является основным средством создания приложений CGI, удобен для решения задач администрирования Web-серверов, электронной почты и других систем. Благодаря быстроте и легкости написания сценариев на этом языке он распространился и на другие платформы: DOS, Windows, OS/2, Mac, VMS и пр. Одно из основных достоинств языка Perl — его открытость и доступность. В сети Internet можно получить совершенно бесплатно исходные тексты интерпретатора perl (язык Perl — интерпретируемый, что в некоторых случаях является преимуществом) и модулей его расширения.
Характерные черты Perl
Области применения Perl
Вопросы для самоконтроля
Структура программы
Часть2. Структура программы
Простая программа
Объявления и комментарии
Выражения и операторы
Упражнения
Типы данных
Часть 3. Типы данных
Алфавит
Скалярный тип данных
Массивы скаляров
Ассоциативные массивы
Переменные
Вопросы для самоконтроля
Упражнения
Операции и выражения
Часть 4. Операции и выражения
Арифметические операции
Операции ввода/вывода
Разные операции
Списковые операции
Операции заключения в кавычки
Выражения
Приоритет операций
Упражнения
Операции конкатенации и повторения
Операции отношения
Логические операции
Побитовые операции
Операции присваивания
Ссылки и операция разыменования
Операции связывания
Именованные унарные операции
Операторы
Часть 5. Операторы
Простые операторы
Модификаторы простых операторов
Составные операторы
Операторы цикла
Команды управления циклом
Именованные блоки
Оператор безусловного перехода
Упражнения
Операции ввода/вывода
Часть 6. Операции ввода/вывода
Операция ввода команды
Операция ()
Функция print
Вопросы для самоконтроля
Упражнения
Работа с файлами
Часть 7. Работа с файлами
Дескрипторы файлов
Доступ к файлам
Операции с файлами
Получение информации о файле
Операции с каталогами
Вопросы для самоконтроля
Упражнения
Форматы
Часть 8. Форматы
Объявление формата
Использование нескольких форматов
Вопросы для самоконтроля
Ссылки
Часть 9. Ссылки
Виды ссылок
Создание ссылок
Операция ссылки "\"
Конструктор анонимного массива
Конструктор анонимного ассоциативного массива
Другие способы
Разыменование ссылок
Разыменование простой скалярной переменной
Блоки в операциях разыменования ссылок
Операция разыменования "-"
Символические ссылки
Использование ссылок
Замыкания
Массив массивов
Другие структуры данных
Вопросы для самоконтроля
Упражнения
Работа со строками
Часть 10. Работа со строками
Регулярные выражения
Метасимволы
Метапоследовательности
Атомы
Обратные ссылки
Расширенный синтаксис регулярных выражений
Сводка результатов
Операции с регулярными выражениями
Операция поиска
Операция замены
Операция транслитерации
Операция заключения в кавычки qr//
Функции для работы со строками
Вопросы для самоконтроля
Упражнения
Подпрограммы и функции
Часть 11. Подпрограммы и функции
Определение подпрограммы
Вызов подпрограммы
Локальные переменные в подпрограммах
Функция ту()
Функция lосаl ()
Передача параметров
Передача по ссылке параметров-массивов
Использование типа typeglob
Использование ссылок
В каких случаях функцию local нельзя заменить функцией ту
Прототипы
Рекурсивные подпрограммы
Вопросы для самоконтроля
Упражнения
Пакеты, библиотеки, модули
Пакеты, библиотеки, модули
Пакеты
Таблицы символов.
Конструктор и деструктор пакета ВEGIN и END
Автозагрузка
Библиотеки
Функция require()
Создание и подключение библиотечного файла
Модули
Функция use ()
Создание и подключение модуля
Функция no ()
Стандартные модули Perl
Прагма-библиотеки
Вопросы для самоконтроля
Упражнения
Объектно-ориентированное программирование в языке Perl
Объектно-ориентированное программирование в языке Perl
Классы и объекты
Методы
Конструкторы
Методы класса и методы объекта
Вызов метода
Деструкторы
Обобщающий пример
Вопросы для самоконтроля
Упражнение
Запуск интерпретатора и режим отладки
Запуск интерпретатора и режим отладки
Опции командной строки
Отладчик Perl
Просмотр текста программы
Выполнение кода
Просмотр значений переменных
Точки останова и действия
Вопросы для самоконтроля
Язык Perl и CGI-программирование
Язык Perl и CGI-программирование
Основные понятия
HTML-формы
Тэг FORM
Тэг INPUT
Тэг SELECT
Тэг TEXTAREA
Пример формы
Передача информации CGI-программе
CGI-сценарии
Переменные среды CGI
Обработка данных формы
Обработка данных формы - 2
Модуль CGI.pm
Вопросы для самоконтроля
Упражнения
Упражнения - 2
-
Perl - специальный справочник
Еще пара замечаний перед тем, как вы начнете самостоятельно работать с Perl. Я советую, чтобы вы использовали ключ -w в командной строке при запуске интерпретатора. В этом случае в процессе обработки сценария Perl при необходимости будет выводить предупреждающие сообщения (когда-нибудь это станет поведением интерпретатора по умолчанию) ">
-
PERL - статьи
Популярность Internet растет с каждым днем, однако если раньше клиенты провайдеров в основном хотели получить доступ к системам электронной почты, то в последние два года наметилась тенденция к расширению спектра требуемых услуг. Теперь интересы пользователей не ограничиваются электронным почтовым ящиком и поиском какой-либо информации в WWW, они стремятся создавать собственные Web-страницы или даже Web-узлы. Новички организуют простые HTML-страницы, не обращая особого внимания на стиль и дизайн. Но со временем у них появляется желание сделать нечто эффектное и интересное для определенной части Internet-сообщества. И тогда новоявленному Web-мастеру приходится более полно изучить язык разметки гипертекста (HTML) и языки создания клиентских сценариев (VBScript1 и JavaScript)*.
Впоследствии у него могут появиться и новые запросы, — например пообщаться с посетителями своего узла. Так, он решит, что неплохо было бы получить достаточно полную информацию о посетителях узла (имена, e-mail, телефоны, факсы и адреса), подсчитать количество посещений, собрать различные мнения и, наконец, создать базу данных, чтобы пользователям сеансов связи предоставить какие-либо определенные услуги. Но для всего этого знания HTML, VBScript1 и Java Script становится явно недостаточно, так как они описывают только технологию взаимодействия сервера и клиента.
Постраничный вывод новостей с разбиением по датам
Basic_perl
Пару слов от автора
Краткое лирическое отступление насчет CGI
Итак ...приступим
Переменные среды CGI
Прекрасный язык Perl
Заголовки запросов и ответов
Права Доступа
Генерация ответа
Обработка Форм
Изображения ismap
Анимация
Несколько советов по отладке
Trics and traps
Кто посещает мою страничку?
Гостевая книга
Сщетчик посещений
Работа с cookies на Perl
Что такое cookie?
Что можно делать с помощью cookie?
Какие броузеры поддерживают механизм cookies?
Установка cookie.
Установка cookie с помощью HTML.
Установка cookie с использованием Perl/CGI.
Установка нескольких cookie одновременно.
Общие вопросы
Книжки
Perl+Windows
Regular expressions (регулярные выражения)
Data Bases
Примеры функций, разное
E-mail
WWW,CGI-специфика
Примеры скриптов
Задачки
Работаем с файлами на Perl
Что такое файловые манипуляторы, и с чем их едят
Манипуляции с файлом
Работа со строками в файле
Работа с файлами и каталогами.
Пример 1.
Пример 2.
Загрузка файлов на сервер через Интернет.
Определения
Одиночные символы
Классы символов
Альтернативные шаблоны
Квантификаторы
Мнимые символы
Ссылки на найденный текст
Функции, использующие регулярные выражения
Split
Grep
Map
Other
Использование встроенных переменных
Как работают регулярные выражения
Логические операции в регулярных выражениях
Рабочие программы, использующие регулярные выражения
Выделение чисел в математической записи
Облегчение поиска работы
Очень простое решение для зеркала новостной ленты
Вывод результатов поиска
Хеши
Объявление
Доступ к элементам
Вывод
Вывод хеша в порядке вставки с использованием Tie::IxHash
Вывод хеша в порядке вставки без использования Tie::IxHash
Сортировки
Встроенные хеши
Хэши slice
Хеши хешей
PERL - статьи
Массивы хэшей
Хэши массивов
Хэш хешей массивов
Шпионская программа
Программа вывода номеров журнала
П2.1.1 Введение
П2.2 Cтруктуры данных
П2.2.1 Скалярные величины
П2.2.2 Простые массивы
П2.2.3 Ассоциативные массивы
П2.3.1 Основные понятия
П2.3.2 Простые операторы
П2.3.3 Составные операторы
П2.3.4.1 Термы и операторы списка
П2.3.4.2 Оператор ``стрелка''
П2.3.4.3 Операторы ++ и - -
П2.3.4.4 Экспоненциальный оператор
П2.3.4.5 Символьные унарные операторы
П2.3.4.6 Операторы связки
П2.3.4.7 Бинарные операторы
П2.3.4.8 Операторы сдвига
П2.3.4.9 Операторы сравнения
П2.3.4.10 Операторы эквивалентности
П2.3.4.11 Побитовое И, побитовое ИЛИ и Исключающее ИЛИ
П2.3.4.12 Логическое И и логическое ИЛИ
П2.3.4.13 Оператор диапазона
П2.3.4.14 Условный оператор
П2.3.4.15 Операторы присваивания
П2.3.4.16 Оператор ``запятая''
П2.3.4.17 Логическое НЕ
П2.3.4.18 Логическое И, ИЛИ и Исключающее ИЛИ
П2.3.4.19 Оператор чтения из файла
П2.3.4.20 Оператор замены строки
П2.3.4.21 Оператор замены множества символов
П2.4.1.1 Основные понятия
П2.4.1.1 Основные понятия - 2
П2.4.1.2 Символьные ссылки
П2.4.2 Регулярные выражения
П2.4.2 Регулярные выражения - 2
П2.4.3 Зарезервированные переменные
П2.4.3 Зарезервированные переменные - 2
П2.4.4 Встроенные функции
П2.4.5.1 Подпрограммы
П2.4.5.2 Пакеты
П2.4.5.3 Таблицы символов
П2.4.5.4 Конструкторы и деструкторы пакетов
П2.4.5.5 Классы
П2.4.5.6 Модули
П2.5 Объектная ориентация
П2.5.1 Объекты
П2.5.2 Классы
П2.5.3 Методы
П2.5.4 Вызов метода
П2.5.5 Деструкторы
Протокол HTTP
Права доступа к файлам и скриптам
Установка CGI скриптов - не вляпайся!
Зачем нам нужны эти скрипты?
Нужно ли для этого знать языки программирования?
Где ставить cgi скрипты?
Сheck that the Path to perl is correct. Links defaults with #!/usr/local/bin/perl".
"...Upload everything in cgi-bin in ASCII mode to a directory on your server that can run cgi..."
Set permissions:
А что дальше?
Где взять скрипты?
Ssi
-
Perl - статьи
Изначально библиотека GTK+ была разработана Питером Матисом (Peter Mattis) и Спенсером Кимбелом (Spencer Kimball) для нужд графического редактора GIMP (GNU Image Manipulation Program), но потом была выделена в отдельный проект. Сама библиотека GTK+ написана на C, но существуют языковые привязки (language bindings) и для многих других языков программирования, в их числе и Perl.
Судя по графику релизов и количеству баг-фиксов, проект GTK+ развивается достаточно активными темпами. За время существования проекта вокруг него сформировалось внушительное сообщество, что также является положительным моментом. В настоящее время команда ключевых разработчиков состоит из десяти человек, представляющих такие компании, как Red Hat, Novell и Intel Open Source Technology Center.
Следует отметить хорошую поддержку механизмов интернационализации и локализации: обратите внимание на использование кодировки UTF-8 в примере.
Библиотека GTK+
Установка в Linux/BSD
Установка в Windows
Минимальное приложение
Выводы
Ссылки
Perl - статьи
Введение
Библиотека GTK+
Установка в Linux/BSD
Установка в Windows
Минимальное приложение
Выводы
Ссылки
Гостевая книга из Perl'овки
Пример использования модулей LWP и HTML::Tree
Perl - статьи
Три письма на Perl
Вариант первый
Третий вариант
Perl - статьи
Web Основы с LWP
Введение
Доступ к страничкам с помощью LWP::Simple
Основы классовой модели LWP
Добавление других заголовков HTTP запроса
Включение Cookies(Теневых посылок)
Отправка данных форм методом POST
Передача данных форм методом GET
Преобразование относительных в абсолютые ссылки
Другие свойства броузера
Написание учтивых роботов
Использование прокси-серверов
HTTP Authentication(идентификация)
Accessing HTTPS URLs
Получение больших документов
Ссылки
Создание пакетов и модулей в Perl
Perl - статьи
Регулярные выражения в Perl
Определения
Одиночные символы
Классы символов
Альтернативные шаблоны
Квантификаторы
Мнимые символы
Ссылки на найденный текст
Функции, использующие регулярные выражения
Split
Grep
Map
Other
Использование встроенных переменных
Как работают регулярные выражения
Логические операции в регулярных выражениях
Рабочие программы, использующие регулярные выражения
Выделение чисел в математической записи
Облегчение поиска работы
Очень простое решение для зеркала новостной ленты
Вывод результатов поиска
Perl - статьи
Защищаем Perl
Кому это нужно?
Почему Perl уязвим?
Фильтрация пользовательского ввода
Ограничение прав Web-сервера
"Лоботомия" Perl
Перехват системных вызовов
Внедрение защитной DLL
Заключение
Perl - статьи
Десять практических рекомендаций разработчикам на Perl
Вначале разработайте интерфейс модулей
Вначале пишите тесты, затем код
Создавайте POD-документацию для модулей и приложений
Используйте систему управления версиями
Создавайте продуманные интерфейсы командной строки
Придите к единому мнению на счёт
Разбивайте код на параграфы, снабжённые комментариями
Выбрасывайте исключение вместо возврата специальных значений или установки флагов
Добавляйте новые тесты перед тем, как начнёте отладку
Не оптимизируйте код -- замеряйте его производительность!
Perl - статьи
Введение
Установка в Linux/BSD
Установка в Windows
Более сложный пример на Perl/Tk
Модуль Tkx от ActiveState
Выводы
Ссылки
Perl - статьи
Quux.pm
Quux.t
Test-coverage-report
Введение
Devel::Cover на примере
Стратегии тестирования
Автоматизация процесса
Интеграция с VIM-ом
Выводы
Perl - статьи
Введение
Обзор wxWidgets
Обзор wxPerl
Установка в Linux
Установка в Windows
Минимальное приложение на wxPerl
Wx::Demo
Выводы
Ссылки
-
Язык программирования Perl
Язык программирования Perl создал американский программист Ларри Уолл (Larry Wall) в 1987 году, когда он работал системным программистом в компании Unisys. Цели, которые преследовал Ларри при разработке нового языка программирования, отражены в его названии - PERL, которое позднее стало расшифровываться как Practical Extraction and Report Language, то есть "практический язык извлечения "данных" и "создания" отчетов". (Нетрудно заметить, что первые буквы всех слов названия составляют слово PEARL - "жемчуг". Одна из легенд о происхождении Perl гласит, что в то время уже существовал язык с таким названием, поэтому Ларри сократил название на одну букву, не изменив произношения. По иронии судьбы, сегодня тот язык не помнит никто, кроме историков, а Perl известен всему миру. Хотя, по другой версии, Ларри назвал созданный им язык по имени своей невесты.
Лингвистические корни Perl
Культура Unix
Философия Perl
Сообщество Perl
Развитие Perl
Установка Perl
Язык программирования Perl
Литералы
Числа
Строки
Переменные
Интерполяция переменных
Контексты
Специальные переменные
Комментарии
Встроенная документация
Язык программирования Perl
Выражения
Арифметические операции
Унарные операции
Именованные унарные операции
Истина и ложь
Операции сравнения
Логические операции
Побитовые операции
Операции сдвига
Строковые операции
Операции присваивания
Операции управления вычислениями
Прочие операции
Приоритеты и ассоциативность операций
Язык программирования Perl
Термы и простые предложения
Пробельные символы
Блоки и составные предложения
Условия
Циклы
Управление циклами и переходы
Модификаторы
Выражения с do и eval
Прагмы
Синонимы и идиомы
Оформление программы
Язык программирования Perl
Списки и списочные литералы
Массивы
Элементы массива
Срезы
Функции работы с массивами
Операции в скалярном и списочном контекстах
Специальные массивы
Язык программирования Perl
Ассоциации и хэши
Хэши - переменные и литералы
Элементы хэшей
Функции работы с хэшами
Хэши и списки
Срезы хэшей
Специальные хэши
Хэши и контекст
Язык программирования Perl
Текст и строки
Строковые литералы
Преобразующие escape-последовательности
Встроенные документы
Функции для работы со строками
Функции для работы с символами
Поддержка Unicode
Язык программирования Perl
Регулярные выражения
Поиск соответствий
Шаблоны и метасимволы
Классы символов
Квантификаторы
Утверждения
Извлечение соответствий
Замена строк
Применение регулярных выражений
Язык программирования Perl
Потоки ввода-вывода
Построчный ввод-вывод
Встроенный файл данных
Ввод-вывод двоичных данных
Ввод-вывод с произвольным доступом
Операции проверки файлов
Функции работы с файлами
Функции работы с каталогами
Язык программирования Perl
Отчеты
Форматы отчета
Поля отчета
Вывод отчетов
Переключение потоков и форматов
Обычные и специальные поля
Многострочные значения
Специальные переменные форматов
Язык программирования Perl
Ссылки
Разыменование ссылок
Ссылки на массивы
Автосоздание объекта ссылки
Ссылки на хэши
Ссылочные структуры данных
Интерполяция выражений с помощью ссылок
Символические ссылки
Язык программирования Perl
Определение подпрограмм
Возврат значений
Параметры подпрограммы
Объявление подпрограмм
Вызов подпрограмм
Контекст вызова
Прототипы
Ссылки на подпрограммы
Области видимости переменных
Временные значения переменных с помощью local
Замыкания
Язык программирования Perl
Библиотеки
Загрузка программ при выполнении
Пакеты
Подключение программ при компиляции
Модули
Специальные блоки
Стандартные библиотеки модулей
Репозитарий модулей CPAN
Установка модулей
Язык программирования Perl
Объектно-ориентированная терминология
Объектное программирование в Perl
Описание классов
Работа с объектами
Наследование
Деструктор
Способы хранения атрибутов
Методы и атрибуты класса
Модуль Class::Struct
Приемы работы с объектами
Язык программирования Perl
Базы данных
Базы данных Berkeley DB
Базы данных XBase
Универсальный интерфейс к базам данных - DBI
Взаимодействие с СУБД
Работа с другими форматами
Классы доступа к данным
Язык программирования Perl
Многозадачность
Выполнение внешних программ
Замена текущего процесса
Параллельное выполнение процессов
Взаимодействие подпроцессов
Сигналы и их обработка
Многопоточное выполнение - нити
Язык программирования Perl
Сетевое программирование
Средства работы с сокетами
Передача файлов
Электронная почта
Системы обмена сообщениями
Управление сетями
Другие сетевые сервисы
Язык программирования Perl
Всемирная Паутина и программирование
Средства работы с гипертекстом
Взаимодействие с web-сервером
CGI-программы
Системы на основе HTML-шаблонов
Средства работы с XML
Web-сервисы
-
Введение в Perl
Прежде чем приступить к последовательному ознакомлению с не знакомым для вас языком, должен оговориться и сказать, что все примеры да и сам язык описанию которого посвящена эта книга это Perl версии 5.003 для операционной системы FreeBSD версии 2.01. Существуют реализации этого языка для операционных систем OS/2 , MS-DOS и Windows NT но они немного отстают по возможностям от оригинала, рожденного в недрах Unix.
Пример 1
Пример 2
Пример 4
Переменные
Контекст
Пример 5
Скалярные значения
Пример 6
Пример 7
Конструкторы скаляров
Пример 8
Пример 9
Конструкторы списков
Пример 10
Пример 11
Пример 12
Пример 13
Пример 14
Пример 15
Пример 16
Тип typeglobs
Отладка Perl программ
Форматы
Встроенные функции
Оператор 'X'
Abs выражение
Accept NEWSOCKET GENERICSOCKET
Alarm секунды
Atan2 Y X
Bind сокет имя
Binmode файл
Bless ссылка класс bless ссылка
Caller выражение caller
Chdir выражение
Chmod список
Chomp переменная chomp список chomp
Chop переменная chop список chop
Chown список
Chr число
Chroot директория
Close файл
Closedir директория
Connect сокет имя
Cos выражение
Crypt текст salt
Dbmclose хеш
Dbmopen хеш база режим
Define выражение
Delete выражение
Die список
Fileno файл
Flock файл операция
Fock
Format
Formline формат список
Getc файл getc
Getlogin
Getpeername сокет
Getpgrp PID
Getppid
Getpriority WHICH WHO
Группа системных вызовов
Getsockname сокет
Getsockopt сокет уровень опция
Glob выражение
Gmtime выражение
Goto метка goto выражение goto подпрограмма
Grep блок список grep выражение список
Hex выражение
Import
Index строка подстрока позиция index строка подстрока
Int выражение
Ioctl FILEHANDLE FUNCTION SCALAR
Join выражение список
Keys хеш
Kill список
Last метка last
Lc выражение
Lcfirst выражение
Length выражение
Link OLDFILE NEWFILE
Listen SOCKET QUEUESIZE
Local список
Localtime выражение
Log выражение
Lstat файл lstat выражение
M//
Map блок список map выражение список
Mkdir директория права
Msgctl ID CMD ARG
Msgget KEY FLAGS
Msgsnd ID MSG FLAGS
Msgrcv ID VAR SIZE TYPE FLAGS
My список
Next метка next
No Module список
Oct выражение
Open файл выражение open файл
Opendir указатель выражение
Ord выражение
Pack шаблон список
Pipe READHANDLE WRITEHANDLE
Pop массив
Pos скаляр
Print файл список print список print
Printf файл список printf список
Push массив список
Q/строка/ qq/строка/ qx/строка/ qw/строка/
Quotemeta выражение
Rand выражение rand
Read файл скаляр длина смещение read файл скаляр длина
Readdir директория
Readlink выражение
Recv SOCKIT SCALAR LEN FLAGS
Redo метка redo
Ref выражение
Rename старое_имя новое_имя_файла
Require выражение require
Reset выражение reset
Return список
Reverse список
Rewindir директория
Rindex строка подстрока позиция rindex строка подстрока
Rmdir директория
S///
Scalar выражение
Seek файл позиция отсчет
Seekdir директория позиция
Select файл select
Select RBITS WBITS EBITS TIMEOUT
Semctl ID SEMNUM CMD ARG
Semget KEY NSEMS FLAGS
Semop KEY OPSTRING
Send SOCKET MSG FLAGS TO send SOCKET MSG FLAGS
Setpgrp PID PGRP
Setpriority WHICH WHO PRIORITY
Setsockopt SOCKET LEVEL OPTNAME OPTVAL
Shift массив shift
Shmctl ID CMD ARG
Shmget KEY SIZE FLAGS
Shmread ID VAR POS SIZE shmread ID STRING POS SIZE
Shutdown SOCKET HOW
Sin выражение
Sleep выражение sleep
Socket SOCKET DOMAIN TYPE PROTOCOL
Socketpair SOCKET1 SOCKET2 DOMAIN TYPE PROTOCOL
Sort подпрограмма список sort блок список sort список
Splice массив смещение длина список
Split /шаблон/ выражение предел
Sprintf формат список
Sqrt выражение
Srand выражение
Stat файл stat выражение
Study скаляр study
Substr выражение смещение длина substr выражение смещение
Symlink старый_файл новый_файл
Syscall список
Sysread файл скаляр длина смещение sysread файл скаляр длина
System список
Syswrite файл скаляр длина смещение
Tell файл tell
Telldir директория
Tie переменная класс список
Time
Times
Tr///
Truncate файл длина truncate выражение длина
Uc выражение
Ucfirst выражение
Umask выражение umask
Undef выражение undef
Unlink список
Unpack шаблон выражение
Untie переменная
Unshift массив список
Use модуль список use модуль
Utime список
Values хеш
Vec выражение смещение бит
Wait
Waitpid PID FLAGS
Wantarray
Warn список
Write файл write выражение write
Y///
Введение в Perl
Интернет ссылки и литература
Модули (packages)
Таблицы имен
Конструкторы и деструкторы
Классы
Создание библиотеки
Pragma библиотеки
Стандартные библиотеки
CPAN
Операторы и приоритеты
Термы и левосторонние списковые операторы
Унарные операторы
Операторы "привязки" =~ и !=
Мультипликативные операторы
Аддитивные операторы
Операторы сдвига
Именованные унарные операторы
Операторы отношений
Операторы равенства
Операторы работы с битами
Логические операторы (AND) и || (OR)
Оператор диапазона ' '
Условный оператор '? '
Операторы присваивания
Оператор ' ' (запятая)
Операторы not and or xor
Операторы ограничители строк
?PATERN?
Операторы вводавывода
Слияние констант
Целочисленная арифметика
Регулярные выражения (шаблоны)
Запуск интерпретатора Perl
Подпрограммы
Private переменные
Переменные типа local
Прототипы (prototypes)
Переопределение встроенных функций
Автозагрузка
Синтаксис
Декларации (объявления)
Простое предложение
Сложные предложения
If (EXPR) BLOCK Вычисляется логическое
Операторы управления циклом
Next подобен continue в С Переходит
Last подобен оператору break в
Redo начать новый цикл не вычисляя
Цикл for
Цикл foreach
Блоки и оператор switch
Оператор goto
POD операторы Документирование программ
Встроенные переменные Perl
-
Еще одно введение в Perl
Прежде чем приступить к последовательному ознакомлению с не знакомым для вас языком, должен оговориться и сказать, что все примеры да и сам язык описанию которого посвящена эта книга это Perl версии 5.003 для операционной системы FreeBSD версии 2.01. Существуют реализации этого языка для операционных систем OS/2 , MS-DOS и Windows NT но они немного отстают по возможностям от оригинала, рожденного в недрах Unix.
Переменные.
Контекст.
Скалярные значения.
Конструкторы скаляров.
Конструкторы списков.
Тип typeglobs
Отладка Perl программ.
Форматы.
Встроенные функции.
Оператор '-X'.
Accept NEWSOCKET, GENERICSOCKET
Alarm секунды
Atan2 Y, X
Bind сокет, имя
Binmode файл
Bless ссылка, класс bless ссылка
Caller выражение caller
Chdir выражение
Chmod список
Chomp переменная chomp список chomp
Chop переменная chop список chop
Chown список
Chroot директория
Close файл
Connect сокет, имя
Dbmopen хеш, база, режим
Define выражение
Delete выражение
Die список
Do BLOCK
Do выражение
Dump метка
Each хеш
Eof файл eof() eof
Eval выражение eval блок
Exec список
Exists выражение
Exit выражение
Exp выражение
Fcntl файл, функция, скаляр
Fileno файл
Fock
Format
Formline формат, список
Getc файл getc
Getlogin
Getpgrp PID
Getpriority WHICH, WHO
Группа системных вызовов:
Getsockname сокет
Glob выражение
Gmtime выражение
Goto метка goto выражение goto подпрограмма
Grep блок, список grep выражение, список
Hex выражение
Import
Index строка, подстрока, позиция index строка, подстрока
Ioctl FILEHANDLE, FUNCTION, SCALAR
Join выражение, список
Keys хеш
Kill список
Last метка last
Local список
Localtime выражение
Lstat файл lstat выражение
Map блок, список map выражение, список
Mkdir директория, права
My список
Next метка next
Oct выражение
Open файл, выражение open файл
Opendir указатель, выражение
Pack шаблон, список
Pop массив
Print файл список print список print
Printf файл список printf список
Push массив, список
Quotemeta выражение
Rand выражение rand
Read файл, скаляр, длина, смещение read файл, скаляр, длина
Readdir директория
Readlink выражение
Recv SOCKIT, SCALAR, LEN, FLAGS
Redo метка redo
Ref выражение
Rename старое_имя, новое_имя_файла
Require выражение require
Reset выражение reset
Return список
Reverse список
Rewindir директория
Rindex строка, подстрока, позиция rindex строка, подстрока
Rmdir директория
Scalar выражение
Seek файл, позиция, отсчет
Seekdir директория, позиция
Select файл select
Send SOCKET, MSG, FLAGS, TO send SOCKET, MSG, FLAGS
Setpgrp PID, PGRP
Setpriority WHICH, WHO, PRIORITY
Setsockopt SOCKET, LEVEL, OPTNAME, OPTVAL
Shift массив shift
Shmread ID, VAR, POS, SIZE shmread ID, STRING, POS, SIZE
Sleep выражение sleep
Socket SOCKET, DOMAIN, TYPE, PROTOCOL
Socketpair SOCKET1, SOCKET2, DOMAIN, TYPE, PROTOCOL
Sort подпрограмма список sort блок список sort список
Splice массив, смещение, длина, список splice массив, смещение, длина splice массив, смещение
Split /шаблон/, выражение, предел split /шаблон/, выражение split /шаблон/ split
Sprintf формат, список
Srand выражение
Stat файл stat выражение
Study скаляр study
Substr выражение, смещение, длина substr выражение, смещение
Symlink старый_файл, новый_файл
Syscall список
Sysread файл, скаляр, длина, смещение sysread файл, скаляр, длина
System список
Syswrite файл, скаляр, длина, смещение syswrite файл, скаляр, длина
Tell файл tell
Telldir директория
Tie переменная, класс, список
Time
Times
Tr///
Uc выражение
Ucfirst выражение
Umask выражение umask
Undef выражение undef
Unlink список
Unpack шаблон, выражение
Unshift массив, список
Use модуль список use модуль
Utime список
Values хеш
Vec выражение, смещение, бит
Wait
Waitpid PID, FLAGS
Wantarray
Warn список
Write файл write выражение write
Интернет - ссылки и литература.
Модули (packages).
Таблицы имен.
Конструкторы и деструкторы.
Классы.
Создание библиотеки.
Pragma библиотеки.
Стандартные библиотеки.
CPAN
Операторы и приоритеты.
Термы и левосторонние списковые операторы.
Унарные операторы.
Операторы "привязки" =~ и != .
Мультипликативные операторы.
Аддитивные операторы.
Введение в Perl
Операторы сдвига.
Именованные унарные операторы.
Операторы отношений.
Операторы равенства.
Операторы работы с битами.
Логические операторы (AND) и (OR).
Оператор диапазона '..'
Условный оператор '?:'
Операторы присваивания.
Оператор ',' (запятая)
Операторы not, and, or, xor
Операторы ограничители строк.
?PATERN?
Операторы ввода-вывода.
Слияние констант.
Целочисленная арифметика.
Регулярные выражения (шаблоны).
Запуск интерпретатора Perl
Подпрограммы.
Private переменные.
Переменные типа local.
Прототипы (prototypes).
Ссылка как параметр.
Переопределение встроенных функций.
Автозагрузка.
Синтаксис.
Декларации (объявления).
Простое предложение.
Сложные предложения.
If (EXPR) BLOCK
If (EXPR) BLOCK else BLOCK2
If (EXPR1) BLOCK1 elsif (EXPR2) BLOCK2 ... else BLOCK
Цикл While
Next
Last
Redo
Цикл for.
Цикл foreach.
Блоки и оператор switch.
Оператор goto.
POD операторы. Документирование программ.
Встроенные переменные Perl.
-
Изучаем Perl
Слово Perl является аббревиатурой выражения Practical Extraction and Report Language (практический язык извлечений и отчетов), хотя иногда его называют Pathologically Eclectic Rubbish Lister (патологически эклектичный мусорный листер). Не стоит спорить о том, какое из этих названий более правильное, потому что оба они принадлежат Ларри Уоллу, создателю и главному архитектору, распространителю и опекуну языка Perl. Ларри создал этот язык, когда пытался формировать отчеты из иерархии файлов системы оповещения об ошибках, похожей на Usenet-новости, а возможности применявшегося в то время обработчика потоков данных awk оказались исчерпанными. Будучи настоящим (то есть ленивым) программистом, Ларри решил вырвать данную проблему с корнем, применив для этого какой-нибудь универсальный инструмент, который он надеялся использовать и в дальнейшем. В результате появилась первая версия языка Perl.
Позабавившись немного с этой версией, добавив кое-что, Ларри предложил ее сообществу читателей материалов телеконференций Usenet, известному также как "Сеть" (the Net). Пользователи, имеющие доступ к входящим в систему Usenet компьютерам, разбросанным по всему свету (а их в то время было несколько десятков тысяч), обеспечили для создателя Perl эффективную "обратную связь", спрашивая, как делать одно, другое, третье. Многие из этих задач Ларри даже и не собирался ставить перед своим маленьким новым языком программирования.
Приложение А
Ответы к упражнениям
Глава 3 "Массивы и списочные данные"
Глава 4 "Управляющие структуры"
Глава 5 "Хеши"
Глава 6 "Базовые средства ввода-вывода^
Глава 7 "Регулярные выражения"
Глава 8 "Функции"
Глава 9 "Разнообразные управляющие структуры "
Глава 10 "Дескрипторы файлов и проверка файлов"
Глава 11 "Форматы"
Глава 12 "Доступ к каталогам"
Глава 13 "Манипулирование файлами и каталогамиff
Глава 14 "Управление процессами"
Глава 15 "Другие операции преобразования данных "
Глава 16 "Доступ к системным базам данныхff
Глава 17 "Работа с пользовательскими базами данных"
Глава 18 "Преобразование других программ в Perl-программы "
Глава 19 "CG1-программирование"
Библиотеки и модули
Темы, которых мы не коснулись
Глава 1
История создания языка Perl
Назначение языка Perl
Доступность
Основные понятия
Прогулка по стране Perl
Допустим, вы хотите найти все
Упражнение
Глава 2
Что такое скалярные данные
Скалярные операции
Скалярные операции и функции
Упражнения
Глава 3
Список и массив
Литеральное представление
Переменные
Операции над массивами и функции обработки массивов
Скалярный и списочный контексты
STDIN как массив
Интерполяция массивов
Глава 4
Блоки операторов
Оператор if/unless
Оператор while/until
Оператор for
Оператор foreach
Глава 5
Что такое хеш
Хеш-переменные
Литеральное представление хеша
Хеш-функции
Срезы хешей
Глава 6
Ввод из STDIN
Ввод из операции "ромб"
Вывод в STDOUT
Глава 7
Основные понятия
Основные направления использования регулярных выражений
Образцы
Еще об операции сопоставления
Операция замены
Функции split и join
Глава 8
Функции
Определение пользовательской функции
Вызов пользовательской функции
Возвращаемые значения
Аргументы
Локальные переменные в функциях
Изучаем Perl
Полулокальные переменные, созданные при помощи функции local
Создаваемые операцией my() переменные файлового уровня
Глава 9
Оператор last
Оператор next
Оператор redo
Метки
Модификаторы выражений
Операции и || как управляющие структуры
Глава 10
Что такое дескриптор файла
Открытие и закрытие дескриптора файла
Небольшое отступление: функция die
Использование дескрипторов файлов
Операции для проверки файлов
Функции stat и Istat
Что такое формат
Определение формата
Вызов формата
Еще о поледержателяж
Формат начала страницы
Изменение в форматах установок по умолчанию
Глава 12
Перемещение по дереву каталогов
Развертывание
Дескрипторы каталогов
Открытие и закрытие дескриптора каталога
Чтение дескриптора каталога
Глава 13
Манипулирование файлами и каталогами
Удаление файла
Переименование файла
Создание для файла альтернативных имен: связывание ссылками
Создание и удаление каталогов
Изменение прав доступа
Изменение принадлежности
Изменение меток времени
Глава 14
Использование функций system u ехес
Использование обратных кавычек
Использование процессов как дескрипторов файлов
Использование функции fork
Сводка операций, проводимых над процессами
Передача и прием сигналов
Глава 15
Поиск подстроки
Извлечение и замена подстроки
Форматирование данных с помощью функции sprintf()
Сортировка по заданным критериям
Транслитерация
Глава 16
Получение информации о паролях и группах
Упаковка и распаковка двоичных данных
Получение информации о сети
Глава 17
DBM-базы данных и DBM-хети
Открытие и закрытие DBM-хешей
Использование DBM-хеша
Базы данных произвольного доступа с записями фиксированной длины
Базы данных с записями переменной длины (текстовые)
Глава 18
Преобразование awk-программ в Perl-программы
Преобразование sed-программ в Perl-программы
Преобразование shell-сценариев в Perl-программы
Глава 19
СGІ-программирование
Модуль CGI.pm
Ваша CGI-программа в контексте
Простейшая CGI-программа
Передача параметров через CGI
Как сократить объем вводимого текста
Генерирование формы
Другие компоненты формы
Создание CGI-программы гостевой книги
Поиск и устранение ошибок в CGI-программах
Perl и Web: не только CGI-программирование
Дополнительная литература
Содержание:
Сетевые клиенты
Предисловие
Введение
Где найти упражнения
Изучаем Perl
FTP
FTPMAIL
BITFTP
UUCP
Телеконференции Usenet
Домашняя страница Perl
Сборник часто задаваемых вопросов
Сообщения о дефектах
Как распространяется Perl
Другие книги
Как получить Perl
Использование анонимного FTP
Как выбирать модули
Обозначения, принятые в книге
Поддержка
Благодарности: первое издание
Благодарности: второе издание
Пожалуйста, пишите нам
-
Первый сайт на Perl
Язык Perl создан системным программистом Ларри Уоллом (Larry Wall) как средство UNIX, позволяющее "склеивать" из программок, выполняющих отдельные функции, большие сценарии для решения комплекса задач, связанных с администрированием, обработкой текста и т. д. В дальнейшем он вышел за эти рамки, превратился в настоящий язык программирования, в котором нашли отражение многие тенденции, обозначившиеся в технологии программирования за последнее десятилетие, и получил широкое распространение в связи с развитием Inernet. Perl является основным средством создания приложений CGI, удобен для решения задач администрирования Web-серверов, электронной почты и других систем. Благодаря быстроте и легкости написания сценариев на этом языке он распространился и на другие платформы: DOS, Windows, OS/2, Mac, VMS и пр. Одно из основных достоинств языка Perl — его открытость и доступность. В сети Internet можно получить совершенно бесплатно исходные тексты интерпретатора perl (язык Perl — интерпретируемый, что в некоторых случаях является преимуществом) и модулей его расширения.
Часть1. Введение в мир Perl
История языка Perl
Характерные черты Perl
Области применения Perl
Системная поддержка UNIX
CGI-сценарии
Обработка почты
Поддержка узлов Web
Вопросы для самоконтроля
Первый сайт на Perl
Простая программа
Объявления и комментарии
Выражения и операторы
Вопросы для самоконтроля
Первый сайт на Perl
Скалярный тип данных
Массивы скаляров
Ассоциативные массивы
Переменные
Вопросы для самоконтроля
Упражнения
Первый сайт на Perl
Арифметические операции
Операции ввода/вывода
Разные операции
Списковые операции
Операции заключения в кавычки
Выражения
Упражнения
Операции конкатенации и повторения
Операции отношения
Логические операции
Побитовые операции
Операции присваивания
Ссылки и операция разыменования
Операции связывания
Именованные унарные операции
-
Регулярные выражения Perl и их применение
Если на компьютере у читателя еще не установлена система программирования Perl, то самое время это сделать. Дистрибутив Perl под Windows можно скачать с сайта. Это все дается бесплатно. Поставка осуществляется в дистрибутиве MSI (MicroSoft Installer). Вы можете запустить его, найдя этот файл через "Мой компьютер" и дважды щелкнув на нем. Также можно использовать инсталлятор msiexec.exe, находящийся в подкаталоге system32 каталога Windows. Если запустить его без параметров, он в окне выдаст справку на русском языке.
Регулярные выражения обычно используются как операнды операторов поиска m/…/ и замены s/…/…/. Слово регулярные означает "составленные по правилам". То, что стоит вместо многоточия в операторе m и вместо первого многоточия в операторе s, - это и есть регулярное выражение. Буква m означает match (соответствие), а буква s означает search (поиск).
Альтернативные шаблоны
Модификаторы и якоря
Классы символов
Квантификаторы, их "жадность" и ее ограничение
Захватывающие и незахватывающие скобки
Обратные ссылки
Оператор замены
Модификатор e в операторе замены
Регулярные выражения Perl и их применение
Текущая позиция поиска
Возвраты и сохраненные состояния
Механизм работы регулярных выражений Поиск с возвратами
Атомарная группировка
Регулярные выражения Perl и их применение
Комментарии в регулярных выражениях
Группировка элементов шаблона
Опережающая проверка
Ретроспективная проверка
Встроенный код Perl
Условная конструкция
Задание модификаторов внутри регулярного выражения
Регулярные выражения Perl и их применение
Модификаторы операторов m// и s///
Алгоритм работы операторов m// и s///
Оператор m// в режиме однократного поиска и в скалярном контексте
Оператор m// в списковом контексте без модификатора g
Оператор m// в скалярном контексте с модификатором g
Оператор m// в списковом контексте с модификатором g
Работа оператор s/// с модификатором g и без него
Предварительная обработка регулярных выражений
Регулярные выражения Perl и их применение
Поиск отдельных слов
Поиск нечувствительных к регистру совпадений
Привязка к началу и концу строк и текста
Поиск множественных совпадений
Поиск n-ного совпадения
Замена n-го совпадения
Применение якорей, проверки текста до и после шаблона
Как укоротить длинные URL и длинные слова?
Регулярные выражения Perl и их применение
Предотвращение зацикливания при поиске и замене
Якорь \G, его смысл и использование
Запрет сброса позиции \G модификатором c
Предварительная настройка начальной позиции поиска
Лексический анализ текста с помощью якоря \G и модификатора gc
Регулярные выражения Perl и их применение
Интерполяция переменных и кода в строку
Интерполяция скаляра
Интерполяция массива
Интерполяция вызова подпрограммы, возвращающей ссылку
Интерполяция кода Perl
Интерполяция переменных и кода в регулярне выражение
Экранирование метасимволов регулярных выражений
Регулярные выражения Perl и их применение
Преобразование ftp и http ссылок в теги HTML
Преобразование ftp, http и e-mail ссылок в теги HTML
Пример1
Пример2
Пример3
Пример4
Регулярные выражения Perl и их применение
Встроенный код и оптимизация регулярных выражений
Встроенный код и интеллектуализация поиска
Встроенный код и поиск вложенных конструкций
Встроенный код и директивы my и local
Регулярные выражения Perl и их применение
Оператор qr/…/
Оператор qr/…/ и интерполяция переменных
Оператор qr/…/ и модификаторы
Объекты регулярных выражений и квантификаторы
Ограничители в операторе qr/…/
Оператор qr/…/ и проблемы при использовании модификатора o
Применение объктов регулярных выражений
Пример1
Пример1
Пример2
Пример2
Регулярные выражения Perl и их применение
Концепция динамической видимости переменных
Специальные переменные, изменяемые при поиске
Автоматическая локализация специальных переменных, относящихся к регулярным выражениям
Имитация именованного сохранения
Избавление от "вредных" специальных переменных и предварительного копирования текста
Регулярные выражения Perl и их применение
Примеры применения динамических регулярных выражений
Поиск вложенных конструкций
Регулярные выражения Perl и их применение
Компиляция и кэширование регулярных выражений
Отладочная информация регулярных выражений
Функция study
Хронометраж времени выполнения регулярных выражений
Регулярные выражения Perl и их применение
Оператор split
Специальный первый операнд // и ' '
Первый операнд (совпадение)
Второй операнд (целевой текст)
Третий операнд (ограничение)
Возвращение пустых элементов
Отсутствие побочных эффектов у оператора split
Захватывающие скобки в первом операнде оператора split
Функция grep
-
Создание серверных приложений на языке PERL
Это учебное пособие написано для того чтобы помочь Вам самостоятельно изучить язык Perl и представляет собой своего рода выжимку из многих электронных и бумажных изданий подобного рода. Пройдя его Вы изучите все необходимые для разработки собственных приложений операторы и функции, узнаете об их специфических особенностях. В рамках этого курса мы будем рассматривать Perl только как язык написания CGI-сценариев.
Чтобы ускоренное изучение Perl не вызывало у Вас никаких затруднений, Вы должны обладать определенным набором знаний в области создания HTML документов. Вы должны хорошо знать HTML тэги, работать с таблицами и каскадными таблицами стилей (CSS). Помимо этого вы должны иметь хотя бы начальные знания в области языков программирования высокого уровня (Pascal, Basic, Delphi, C, JavaScript и т.д.). А если Вы уже знаете PHP, то получите ни с чем не сравнимое удовольствие от изучения Perl по ускоренному курсу.
Bottom
Examples
Help
Урок 1 Создание и запуск PerlскриптовОператор Print
Урок 10 Встроенные переменные получение данных методом GET
Получение данных методом GET
Урок 11 HTML формы функция ParseForm метод POST
Поле для ввода пароля
Скрытое поле
Переключатель
Радиокнопка
Список
Область многострочного редактирования
Метод POST
Урок 12 Оператор Print хеши
Еще немного об операторе Print
Урок 13 Функции работы с файлами
Открытие и закрытие дескриптора файла
Запись в тело файла
Путь к файлу
Блокировка файла функция Flock
Урок 14 Функции для работы с файлами (продолжение)
Функция Read
Функция Getc
Функция Rename
Функция Unlink
Урок 15 Функции для работы с файлами (продолжение)
Функция Utime
Функция Truncate
Функция Stat
Функция Seek
Функция Chmod
Less16
Урок 17 Подпрограммы прототипы
Прототипы
Урок 18 Работа с числами
Функция ABS
Функция COS
Функция EXP
Функция HEX
Функция INT
Функция LOG
Функция OCT
Функция SCALAR
Функция SIN
Функция SQRT
Функция Rand
Функция Srand
Урок 19 Функции для работы со строками
Функция Chomp
Функция Chop
Функция Chr
Функция Lc
Функция Lcfirst
Функция Length
Функция Ord
Функция Uc
Функция Ucfirst
Функция Substr
Функция Pack
Функция Unpack
Урок 2 Типы данных в Perl переменные
Урок 20 Операторы для работы со строками (продолжение)
Оператор q//
Оператор qq//
Оператор qw//
Оператор Split
Урок 21 Регулярные выражения
Урок 22 Операторы поиска и замены
Оператор m//
Оператор S///
Операторы tr/// и y///
Урок 23 Еще немного о циклах
Оператор Grep
Оператор Map
Функция Shift
Функция Unshift
Функция Push
Функция Sort
Функция Splice
Функция Reverse
Урок 25 Функции для работы с хешами
Функция Delete
Функция Each
Функция Exists
Функция Keys
Функция Values
Урок 26 Дата и время
Функция Time
Функция Localtime
Функция Times
Функция Gmtime
Урок 27 Функции для работы с директориями
Функция Chdir
Функция Chroot
Функция Mkdir
Функция Opendir
Функция Readdir
Функция Rmdir
Функция Sseekdir
Функция Telldir
Функция Rewindir
Урок 28 заключительный Прочие функции
Функция Eval
Функция Exit
Функция Goto
Функция quotemeta
Функция Sleep
Урок 3 Операции с числами и строками логические выражения
Урок 4 Составной и условный операторы
Урок 5 Операторы повторения с заданным количеством итераций
Урок 6 Операторы повторения с
Оператор do
Урок 7 Метки оператор перехода операторы управления циклами
Оператор GOTO
Оператор Next
Оператор Last
Оператор Redo
Урок 8 Список Массив Работа с массивом
Оператор Foreach
Урок 9 Метасимволы
Ссылки на полезные сайты
Прежде чем приступить к занятиям ...
Приложение A Форматы MIME Работа
MIME
Почтовые рассылки
Дополнительные поля HTTP заголовка
Работа с Cookie
Правила хорошего тона при разработке CGI программ
Функция USE
Заключение
-
Спецификация языка Perl
Perl - интерпретируемый язык, приспособленный для обработки произвольных текстовых файлов, извлечения из них необходимой информациии и выдачи сообщений. Perl также удобен для написания различных системных программ. Этот язык прост в использовании, эффективен, но про него трудно сказать, что он элегантен и компактен. Perl сочитает в себе лучшие черты C, shell, sed и awk, поэтому для тех, кто знаком с ними, изучение Perl-а не представляет особого труда. Cинтаксис выражений Perl-а близок к синтаксису C. В отличие от большинства утилит ОС UNIX Perl не ставит ограничений на объем обрабатываемых данных и если хватает ресурсов, то весь файл обрабатывается как одна строка. Рекурсия может быть произвольной глубины. Хотя Perl приспособлен для сканирования текстовых файлов, он может обрабатывать так же двоичные данные и создавать .dbm файлы, подобные ассоциативным массивам. Perl позволяет использовать регулярные выражения, создавать объекты, вставлять в программу на С или C++ куски кода на Perl-е, а также позволяет осуществлять доступ к базам данных, в том числе Oracle.
П2.1.1 Введение
П2.2 Cтруктуры данных
П2.2.1 Скалярные величины
П2.2.2 Простые массивы
П2.2.3 Ассоциативные массивы
П2.3.1 Основные понятия
П2.3.2 Простые операторы
П2.3.3 Составные операторы
П2.3.4.1 Термы и операторы списка
П2.3.4.2 Оператор ``стрелка''
П2.3.4.3 Операторы ++ и - -
П2.3.4.4 Экспоненциальный оператор
П2.3.4.5 Символьные унарные операторы
П2.3.4.6 Операторы связки
П2.3.4.7 Бинарные операторы
П2.3.4.8 Операторы сдвига
П2.3.4.9 Операторы сравнения
П2.3.4.10 Операторы эквивалентности
П2.3.4.11 Побитовое И, побитовое ИЛИ и Исключающее ИЛИ
П2.3.4.12 Логическое И и логическое ИЛИ
П2.3.4.13 Оператор диапазона
П2.3.4.14 Условный оператор
П2.3.4.15 Операторы присваивания
П2.3.4.16 Оператор ``запятая''
П2.3.4.17 Логическое НЕ
П2.3.4.18 Логическое И, ИЛИ и Исключающее ИЛИ
П2.3.4.19 Оператор чтения из файла
П2.3.4.20 Оператор замены строки
П2.3.4.21 Оператор замены множества символов
П2.4.1.1 Основные понятия
П2.4.1.2 Символьные ссылки
П2.4.2 Регулярные выражения
П2.4.2 Регулярные выражения - 2
П2.4.3 Зарезервированные переменные
$ARGV
@INC
%ENV
%SIG
Abs VALUE
Accept NEWSOCKET, GENERICSOCKET
Bind SOCKET, NAME
Binmode FILEHANDLE
Bless REF, PACKAGE
Caller EXPR
Chdir EXPR
Chmod LIST
Chown LIST
Chr NUMBER
Close FILEHANDLE
Closedir DIRHANDLE
Connect SOCKET,NAME
Cos EXPR
Dbmopen ASSOC, DBNAME, MODE
Dbmclose ASSOC
Defined EXPR
Delete EXPR
Die LIST
Do BLOCK
Do EXPR
Each ASSOC_ARRAY
Eof FILEHANDLE
Eval EXPR
Exec LIST
Exists EXPR
Exit EXPR
Exp EXPR
Fork
Getc FILEHANDLE
Goto LABEL
Grep EXPR, LIST
Hex EXPR
Kill LIST
Int EXPR
Join EXPR,LIST
Keys ASSOC_ARRAY
Length EXPR
Link OLDFILE,NEWFILE
Listen SOCKET, QUEUESIZE
Local EXPR
Log EXPR
Map EXPR,LIST
Mkdir FILENAME,MODE
My EXPR
Next LABEL
Oct EXPR
Open FILEHANDLE,EXPR
Open DIRHANDLE,EXPR
Ord EXPR
Print FILEHANDLE,LIST
Printf FILEHANDLE, LIST
Rand EXPR
Read FILEHANDLE,SCALAR,LENGTH,OFFSET
Readlink EXPR
Redo LABEL
Ref EXPR
Require EXPR
Reset EXPR
Rm FILENAME
Scalar EXPR
Seek FILEHANDLE, POSITION, WHENCE
Select FILEHANDLE
Select RBITS,WBITS,EBITS,TIMEOUT
Shift ARRAY
Sin EXPR
Sleep EXPR
Socket SOCKET,DOMAIN,TYPE,PROTOCOL
Sort SUBROUTINE,LIST
Splice ARRAY,OFFSET,LENGTH,LIST
Split /PATTERN/,EXPR,LIMIT
Sqrt EXPR
System LIST
Tell FULEHANDLE
Tie VARIABLE,PACKAGENAME,LIST
Truncate FILEHANDLE, LENGTH
Undef EXPR
Unlink LIST
Untie VARIABLE
Unshift ARRAY, LIST
Use Module LIST
Values ASSOC_ARRAY
Wantarray
Write
П2.4.5.1 Подпрограммы
П2.4.5.2 Пакеты
П2.4.5.3 Таблицы символов
П2.4.5.4 Конструкторы и деструкторы пакетов
П2.4.5.5 Классы
П2.4.5.6 Модули
П2.5 Объектная ориентация
П2.5.1 Объекты
П2.5.2 Классы
П2.5.3 Методы
Спецификация языка Perl
П2.5.4 Вызов метода
П2.5.5 Деструкторы
-
Perl практика
В модуле CGI.pm имеются директивы импорта - метки, которые обозначают группы импортируемых функций. В модуле имеются следущие директивы: :cgi, :form, :html2, :html3, :netscape, :shortcuts, :standard, :all.
Присваивание.
Обращение к элементам массива.
Функции push и pop.
Функция reverse.
Функция sort.
Функция chomp.
Модификаторы выражений.
Операции && и как управляющие структуры.
Perl практика
Простейшая CGI-программа.
Передача параметров через CGI.
Сокращение обьема вводимого текста.
Генерирование формы.
Другие компоненты формы.
Ссылки.
Другие вызывающие последовательности.
CGI-программа гостевой книги.
Обьектно-ориентированное программирование на PERL.
Обьекты в модуле CGI.pm.
Perl практика
Блоки операторов.
Оператор if/unless.
Оператор while/until.
Оператор do {} while/until.
Оператор foreach.
Perl практика
Доступ к каталогам.
Развертывание.
Открытие и закрытие дескриптора каталога.
Чтение дескриптора каталога.
Perl практика
Открытие и закрытие дескрипторов файлов.
Функция die.
Использование дескрипторов файлов.
Операции для проверки файлов.
Функции stat и lstat.
Perl практика
Определение пользовательской функции.
Возвращаемые значения.
Аргументы.
Локальные переменные в функциях.
Полулокальные переменные. Функция local.
Создаваемые операцией my переменные файлового уровня.
Perl практика
Что такое хеш.
Хеш-переменные.
Литеральное представление хеша.
Хеш-функции.
Функция keys.
Функция values.
Функция each.
Функция delete.
Срезы хешей.
Perl практика
Ввод из STDIN.
Ввод из операции ромб
Print - обычный вывод.
Perl практика
Введение.
Программа Hello.
Выбор.
Секретное слово.
Несколько секретных слов.
Использование таблицы секретных слов - хеш.
Обработка различных вариантов ввода.
Использование подпрограмм.
Работа с файлами.
Повышение уровня безопастности.
Предупреждение о попытке доступа.
Несколько файлов секретных слов в текущем каталоге.
Распечатка списка секретных слов.
Переименование файлов, содержащих старые пароли.
Ведение базы данных.
Окончательный вариант программ.
Perl практика
Основные понятия.
Основные направления использования регулярных выражений.
Образцы, обозначающие один символ.
Множители.
Круглые скобки как способ запоминания.
Дизьюнкция.
Фиксирование образцов.
Приоритет.
Выбор другого обьекта для сопоставления.
Игнорирование регистра.
Использование другого разделителя.
Использование интерполяции переменных.
Операция замены.
Функции split и join.
Perl практика
Скалярные типы данных.
Числа.
Литералы с плавающей запятой.
Целочисленные литералы.
Строки.
Строки в одинарных кавычках.
Строки в двойных кавычках.
Операции над числами.
Операции над строками.
Интерполяция скаляров в строках.
STDIN> как скалярное значение.
Значение undef.
-
Perl для системного администрирования
По мере роста сложности рассматриваемой информации растет и важность служб каталогов, которые мы используем для доступа к этой информации. Хорошо, если системные администраторы будут не просто использовать эти службы, но и создавать собственные инструменты для работы с ними. В этой главе рассказано о некоторых из наиболее популярных служб, таких как LDAP и ADSI, а также показано, как с ними работать при помощи Perl.
Какой помощи ждать от Perl
Эта книга покажет вам, как
Что вам нужно
Поиск и установка модулей
Нелегко быть всемогущим
Ссылки на подробную информацию
Perl приходит на помощь
Perl приходит на помощь
Различия файловых систем
Прогулка по файловой системе
Обход файловой системы при помощи модуля File::Find
Работа с дисковыми квотами
Получение сведений об использовании файловой системы
Информация о модулях из этой главы
Источники подробной информации
Информация о пользователях в Unix
Информация о пользователях в Unix
Информация о пользователях в Windows NT/2000
Создание системы учетных записей для работы с пользователями
Информация о модулях из этой главы
Рекомендуемая дополнительная литература Файлы паролей в Unix
Управление процессами в MacOS
Управление процессами в MacOS
Управление процессами в NT/2000
Управление процессами в Unix
Отслеживание операций с файлами и сетью
Информация о модулях из этой главы
Рекомендуемая дополнительная литература
Файлы узлов
Файлы узлов
MIS, NIS+ и WINS
Служба доменных имен (DNS)
Информация о модулях из этой главы
Рекомендуемая дополнительная литература
Что такое каталог?
Что такое каталог?
Finger: простая служба каталогов
Служба каталогов WHOIS
LDAP: сложная служба каталогов
ADSI (Интерфейсы служб активных каталогов)
Информация о модулях из этой главы
Рекомендуемая дополнительная литература
Взаимодействие с SQL-сервером из Perl
Взаимодействие с SQL-сервером из Perl
Использование DBI
Использование ODBC
Документирование сервера
Учетные записи баз данных
Мониторинг состояния сервера
Информация о модулях из этой главы
Рекомендуемая дополнительная литература SQL
Отправка почты
Отправка почты
Распространенные ошибки при отправке почты
Получение почты
Информация о модулях из этой главы
Рекомендуемая дополнительная литература
Текстовые журналы
Текстовые журналы
Двоичные журналы
Данные с состоянием и без
Проблемы с пространством на диске
Анализ журналов
Информация о модулях из этой главы
Рекомендуемая дополнительная информация
Обращаем внимание на неожиданные или несанкционированные изменения
Обращаем внимание на неожиданные или несанкционированные изменения
Обращайте внимание на подозрительную активность
Протокол SNMP
Опасность на проводе
Предотвращение подозрительных действий
Информация о модулях из этой главы
Ссылки на подробную информацию
Ссылки на подробную информацию
Организация данных в LDAP
Организация данных в LDAP
XML - это язык разметки
XML - это язык разметки
XML требователен Несмотря на гибкость
Два ключевых термина XML
Пережитки
Создание/удаление баз данных и таблиц
Создание/удаление баз данных и таблиц
Добавление данных в таблицу
Запрос информации
Изменение информации в таблице
Установление связей между таблицами
Дополнительные аспекты SQL
- Perl для системного администрирования
Какой помощи ждать от Perl
В работе системного администратора используется любой и всякий язык программирования, если его применение приносит пользу. Так почему же в этой книге выбран именно Perl?
Ответ на этот вопрос слышится в самой природе системного администрирования. Реми Эвард, мой друг и коллега, однажды описал работу системного администратора такими словами: «С одной стороны, у тебя есть набор ресурсов: компьютеры, сети, программное обеспечение и т. д. А с другой стороны, есть пользователи со своими нуждами и проектами - люди, которые хотят, чтобы их работа выполнялась. Наша задача заключается в том, чтобы состыковать эти два множества оптимальным способом, являясь при необходимости посредником между кругом расплывчатых нужд людей и техническим миром».
Эта книга покажет вам как
Что вам нужно
Поиск и установка модулей
Установка модулей на Win32
Установка модулей на MacOS
Нелегко быть всемогущим Перед
Избавьтесь от своих привилегий как можно быстрее
Будьте осторожны при чтении данных
Избегайте состояний перехвата
Наслаждайтесь
Ссылки на подробную информацию
Perl для системного администрирования
Файловые системы
Perl приходит на помощь Лэптопы
Microsoft Windows NT/2000
MacOS
Сводка различий файловых систем
Таблица 2 1 Сравнение файловых систем
Учет различий файловых систем в Perl
Прогулка по файловой системе Наверняка
Таблица 2 2 Переменные File Find
Работа с дисковыми квотами Perlсценарии
Редактирование квот при помощи модуля Quota
Получение сведений об использовании файловой системы
Информация о модулях из этой главы
Источники подробной информации
Perl для системного администрирования
Учетные записи пользователей
Информация о пользователях в Unix
Таблица 3 1 Переменные и функции имеющие отношение к именам и идентификаторам пользователей
Таблица 3 2 Переменные и функции имеющие отношение к именам и идентификаторам групп
Дополнительные поля в файлах паролей в BSD 4 4
Формат двоичных баз данных в BSD 4 4
Теневые пароли
Информация о пользователях в Windows
Идентификаторы пользователей в NT/2000
Пароли в NT/2000
Группы в NT
Отличия групп в Windows 2000
Права пользователей в NT/2000
Microsoft Windows NT/ Windows 2000 Resource Kits
Создание системы учетных записей
Почему настоящие системные администраторы создают системы учетных записей
Создание XMLфайла из Perl
Чтение кода XML при помощи XML Parser
Чтение XML при помощи XML Simple
Создание XMLданных при помощи XML Simple
Подпрограммы для создания и удаления учетных записей в Unix
Сценарии
Система учетных записей Заключение
Информация о модулях из этой главы
XML
Прочее
Perl для системного администрирования
Действия пользователей Управление
Управление процессами в NT/2000
Использование модуля Win32 IProc
Использование модуля Win32 Setupsup
Использование инструментария управления окнами (Window Management Instrumentation WMI)
Управление процессами в Unix Стратегии
Изучение структуры ядра
Использование файловой системы /ргос
Использование модуля Proc ProcessTable
Отслеживание операций с файлами
Таблица 4 1 Параметры Filter в Win32 AdvNotifу
Отслеживание операций в Unix
Информация о модулях из этой главы
Рекомендуемая дополнительная литература
Perl для системного администрирования
Службы имен TCP/IP
Файлы узлов Первый подход используемый
Таблица 5 1 Массив возвращенный функцией split ()
Вы уже приняли религию «Базы данных для системного администрирования»?
Проверка ошибок в процессе генерирования файла узлов
Внедрение системы контроля исходного кода
MIS NIS+ и WINS Разработчики из
Windowsслужба имен Интернета (WINS)
Служба доменных имен (DNS) Несмотря
Создание административного заголовка
Создание нескольких конфигурационных файлов
Проверка работы DNS итеративный подход
Использование nslookup
Работа напрямую с сетевыми сокетами
Использование Net DNS
Информация о модулях из этой главы
Рекомендуемая дополнительная литература
Perl для системного администрирования
Службы каталогов Что такое каталог?
Finger простая служба каталогов
Служба каталогов WHOIS
LDAP сложная служба каталогов
Таблица 6 1 Сравнение двух LDAPмодулей
Первоначальное LDAPсоединение
Выполнение поиска в LDAP
Таблица 6 2 Операторы сравнения LDAP
Представление элементов в Perl
Таблица 6 3 Методы Mozilla LDAP Entry
Таблица 6 4 Методы элементов Net LDAP
Добавление элементов при помощи LDIF
Добавление элементов при помощи стандартных операций LDAP
Удаление элементов
Изменение имен элементов
Изменение атрибутов элемента
Таблица 6 5 Методы изменения элементов в Mozilla LDAP
Таблица 6 6 Методы для изменения элементов в Net LDAP
ADSI (Интерфейсы служб активных
Использование ADSI из Perl
Работа с объектами контейнер/коллекция
Как же узнать чтонибудь об объекте?
Поиск
Выполнение распространенных задач при помощи пространства имен WinNT и LDAP
Работа с пользователями через ADSI
Работа с группами через ADSI
Работа с разделяемыми ресурсами через ADSI
Работа с очередями и заданиями печати через ADSI
Работа со службами NT/2000 через ADSI
Информация о модулях из этой главы
WHOIS
LDAP
ADSI
Perl для системного администрирования
Администрирование баз данных SQL
Использование DBI Вот что следует
Таблица 7 2 Удобные методы DBI
Использование ODBC Основные шаги
Сервер Sybase и DBI
Сервер MSSQL и ODBC
Учетные записи баз данных
Мониторинг состояния сервера
Наблюдение за свободным пространством
Где выполняется вся работа?
Наблюдение за использованием процессорного времени на SQLсервере
Информация о модулях из этой главы
Рекомендуемая дополнительная литература
ODBC
Прочее
Perl для системного администрирования
Электронная почта
Отправка почты Начнем с рассмотрения
Использование IPC специфичных для операционной системы
Общение напрямую по почтовым протоколам
Распространенные ошибки при отправке
Контроль над частотой отправки почты
Контролируем количество сообщений
Пропуск темы сообщения Строка
Получение почты
Разбиение почтового ящика
Отслеживание спама Теперь когда
Поиск в черном списке для всего Интернета
Увеличение почты в службу поддержки
Информация о модулях из этой главы
Рекомендуемая дополнительная литература
Perl для системного администрирования
Журналы Текстовые журналы Двоичные
Двоичные журналы
Использование unpackQ
Таблица 9 1 Преобразование кода на С из utmp h в шаблон unpack( )
Данные с состоянием и без Помимо
Таблица 9 2 Способ ротации журналов из Perl
Таблица 9 3 Параметры Logflle Rotate
Кольцевой буфер
Блокировка ввода в программах обработки журналов
Анализ журналов Некоторые системные
Вариация на тему предыдущего примера
Процесс «прочиталзапомнил»
Регулярные выражения
Черные ящики
Использование баз данных
Использование баз данных встроенных вРег!
Таблица 9 4 Сравнение поддерживаемых
Информация о модулях из этой главы
Рекомендуемая дополнительная информация
Perl для системного администрирования
Безопасность и наблюдение за сетью
Обращаем внимание на неожиданные или несанкционированные изменения
Изменения локальной файловой системы
Таблица 10 1 Сравнение значений возвращаемых функцией stat( )
Изменения сетевых служб
Обращайте внимание на подозрительную
Поиск проблемных образцов
Протокол SNMP Давайте отвлечемся
Опасность на проводе SNMP хорош
Предотвращение подозрительных
Информация о модулях из этой главы
Рекомендуемая дополнительная литература Инструменты для обнаружения изменений
Другие ресурсы
Perl для системного администрирования
Пятиминутное руководство по RCS
Таблица А 1 Распространенные операции в RCS
Ссылки на подробную информацию
Десятиминутное руководство по LDAP
Организация данных в LDAP
Perl для системного администрирования
Восьмиминутное руководство по XML
XML это язык разметки
XML требователен Несмотря на гибкость
Два ключевых термина XML
Пережитки
Perl для системного администрирования
Пятнадцатиминутное руководство
Создание/удаление баз данных и таблиц
Добавление данных в таблицу
Запрос информации
Получение подмножества строк из таблицы
Таблица D 2 Метасимволы LIKE
Простая обработка данных возвращаемых в результате запросов
Добавление результатов запроса в другую таблицу
Изменение информации в таблице
Таблица D 3 Таблица Contracts
Дополнительные аспекты SQL
Курсоры
Хранимые процедуры
Двадцатиминутное руководство по
-
Создание серверных приложений на языке PERL
Прежде чем приступить к последовательному ознакомлению с не знакомым для вас языком, должен оговориться и сказать, что все примеры да и сам язык описанию которого посвящена эта книга это Perl версии 5.003 для операционной системы FreeBSD версии 2.01. Существуют реализации этого языка для операционных систем OS/2 , MS-DOS и Windows NT но они немного отстают по возможностям от оригинала, рожденного в недрах Unix.
Постраничный вывод новостей с разбиением по датам
Basic_perl
Оглавление:
Пару слов от автора
Краткое лирическое отступление насчет CGI
Итак ...приступим...
Переменные среды CGI
Прекрасный язык Perl
Заголовки запросов и ответов
Права Доступа
Генерация ответа
Обработка Форм
Изображения ismap
Анимация
Несколько советов по отладке
Trics and traps
Кто посещает мою страничку?
Гостевая книга
Сщетчик посещений
Работа с cookies на Perl
Что такое Cookies и с чем их едят
Что такое cookie?
Что можно делать с помощью cookie?
Какие броузеры поддерживают механизм cookies?
Установка cookie.
Установка cookie с помощью HTML.
Установка cookie с использованием Perl/CGI.
Установка нескольких cookie одновременно.
Общие вопросы
Книжки
Perl+Windows
Regular expressions (регулярные выражения)
Примеры функций, разное
E-mail
WWW,CGI-специфика
Примеры скриптов
Работаем с файлами на Perl
Что такое файловые манипуляторы, и с чем их едят
Манипуляции с файлом
Работа со строками в файле
Практические примеры программирования cgi-скриптов на Perl: работа с файлами и каталогами.
Работа с файлами и каталогами.
Пример 1.
Пример 2.
Загрузка файлов на сервер через Интернет.
Регулярные выражения
Определения
Одиночные символы
Классы символов
Альтернативные шаблоны
Квантификаторы
Мнимые символы
Ссылки на найденный текст
Функции, использующие регулярные выражения
Split
Grep
Map
Other
Использование встроенных переменных
Как работают регулярные выражения
Логические операции в регулярных выражениях
Рабочие программы, использующие регулярные выражения
Выделение чисел в математической записи
Облегчение поиска работы
Очень простое решение для зеркала новостной ленты
Вывод результатов поиска
Хеши
Доступ к элементам
Вывод
Вывод хеша в порядке вставки с использованием Tie::IxHash
Вывод хеша в порядке вставки без использования Tie::IxHash
Сортировки
Встроенные хеши
Хэши slice
Хеши хешей
Массивы хэшей
Хэши массивов
Хэш хешей массивов
Шпионская программа
Программа вывода номеров журнала
Содержание
П2.1.1 Введение
П2.2 Cтруктуры данных
П2.2.1 Скалярные величины
П2.2.2 Простые массивы
П2.2.3 Ассоциативные массивы
П2.3.1 Основные понятия
П2.3.2 Простые операторы
П2.3.3 Составные операторы
П2.3.4.1 Термы и операторы списка
П2.3.4.2 Оператор ``стрелка''
П2.3.4.3 Операторы ++ и - -
П2.3.4.4 Экспоненциальный оператор
П2.3.4.5 Символьные унарные операторы
П2.3.4.6 Операторы связки
П2.3.4.7 Бинарные операторы
П2.3.4.8 Операторы сдвига
П2.3.4.9 Операторы сравнения
П2.3.4.10 Операторы эквивалентности
П2.3.4.11 Побитовое И, побитовое ИЛИ и Исключающее ИЛИ
П2.3.4.12 Логическое И и логическое ИЛИ
П2.3.4.13 Оператор диапазона
П2.3.4.14 Условный оператор
П2.3.4.15 Операторы присваивания
П2.3.4.16 Оператор ``запятая''
П2.3.4.17 Логическое НЕ
П2.3.4.18 Логическое И, ИЛИ и Исключающее ИЛИ
П2.3.4.19 Оператор чтения из файла
П2.3.4.20 Оператор замены строки
П2.3.4.21 Оператор замены множества символов
П2.4.1.1 Основные понятия
П2.4.1.1 Основные понятия - 2
П2.4.1.2 Символьные ссылки
П2.4.2 Регулярные выражения
П2.4.2 Регулярные выражения - 2
П2.4.3 Зарезервированные переменные
П2.4.4 Встроенные функции
П2.4.5.1 Подпрограммы
П2.4.5.2 Пакеты
П2.4.5.3 Таблицы символов
П2.4.5.4 Конструкторы и деструкторы пакетов
П2.4.5.5 Классы
П2.4.5.6 Модули
П2.5 Объектная ориентация
П2.5.1 Объекты
П2.5.2 Классы
П2.5.3 Методы
П2.5.4 Вызов метода
П2.5.5 Деструкторы
Протокол HTTP
Права доступа к файлам и скриптам
Установка CGI скриптов - не вляпайся!
Зачем нам нужны эти скрипты?
Нужно ли для этого знать языки программирования?
Где ставить cgi скрипты?
Сheck that the Path to perl is correct. Links defaults with #!/usr/local/bin/perl".
"...Upload everything in cgi-bin in ASCII mode to a directory on your server that can run cgi..."
Set permissions:
А что дальше?
Где взять скрипты?
Ssi
Ssi2
Создание серверных приложений на языке PERL
От простого к сложному
Переменные.
Отладка Perl программ.
Форматы.
Встроенные функции.
Введение в Perl
INFO-DOS
Info-win
Интернет - ссылки и литература.
Модули (packages).
Name-win
Операторы и приоритеты.
Регулярные выражения (шаблоны).
Запуск интерпретатора Perl
Подпрограммы.
Синтаксис.
Встроенные переменные Perl.
Массивы и списочные данные.
Список и массив.
Литеральное представление.
Присваивание.
Обращение к элементам массива.
Функции push и pop.
Функция reverse.
Функция sort.
Функция chomp.
Управляющие структуры.
Модификаторы выражений.
Операции STDIN> как скалярное значение.
Значение undef.
Apache
Crack
Shttp
Создание серверных приложений на языке PERL
Приложение А
Ответы к упражнениям
Библиотеки и модули
Темы, которых мы не коснулись
Дескрипторы файлов и проверка файлов
Форматы
Доступ к каталогам
Манипулирование файлами и каталогами
Управление процессами
Другие операции преобразования данных
Доступ к системным базам данных
Работа с пользовательскими базами данных
Преобразование других программ в Perl-программы
СGІ-программирование
Скалярные данные
Массивы и списочные данные
Управляющие структуры
Хеши
Базовые средства ввода-вывода
Регулярные выражения
Функции
Readme
Сетевые клиенты
Предисловие
Где найти упражнения
FTP
FTPMAIL
BITFTP
UUCP
Телеконференции Usenet
Домашняя страница Perl
Сборник часто задаваемых вопросов
Сообщения о дефектах
Как распространяется Perl
Другие книги
Как получить Perl
Использование анонимного FTP
Как выбирать модули
Обозначения, принятые в книге
Поддержка
Благодарности: первое издание
Благодарности: второе издание
Пожалуйста, пишите нам
Less01
Less02
Less03
Less04
Less05
Less06
Less07
Less08
Less09
Less10
Less11
Less12
Less13
Less14
Less15
Less16
Less17
Less18
Less19
Less20
Less21
Less22
Less23
Less24
Less25
Less26
Less27
Less28