
- •Язык программирования perl
- •Perl как язык программирования
- •История perl
- •Perl - интерпретируемый язык программирования
- •Богатство возможностей языка perl
- •Использование perl
- •Использование perl как фильтра данных
- •Использование языка perl как шлюза безопасности
- •Frontend-программы для связи с базой данных
- •Использование языка perl для написания cgicкриптов.
- •Знакомство с языком perl
- •Установка perl
- •Использование отладчика perl
- •Типы данных в perl
- •Переменные
- •Скалярные переменные
- •Массивы
- •Роль контекста аля переменных скалярного и векторного типа
- •Ассоциативные массивы
- •Операторы perl
- •Арифметические операторы
- •Побитовые операторы
- •Операторы сравнения
- •Логические операторы
- •Строковые операторы
- •Операторы присваивания
- •Операции для работы со списками
- •Операторы для работы с файлами
- •Приоритеты выполнения операторов
- •Конструкции языка perl
- •Простые и составные операторы
- •Условные операторы
- •Оператор unless
- •Оператор do
- •Циклы и ветвления
- •Цикл until
- •Циклы for и foreach
- •Оператор безусловного перехода goto
- •Модификаторы операторов
- •Генерация динамических выражений с помощью функции eval
- •Подпрограммы
- •Библиотека подпрограмм
- •Использование пакетов для изоляции подпрограмм
- •Обработка строк
- •Функция chop
- •Функция index
- •Функция length
- •Функция substr
- •Функция join
- •Функция split
- •Функции для обработки списков
- •Функция reverse
- •Функция sort
- •Функции работы с массивами
- •Функции push и pop
- •Функция shift
- •Функция unshift
- •Функция splice
- •Функция scalar
- •Функция grep
- •Функции обработки ассоциативных массивов
- •Функция keys
- •Функция values
- •Функция each
- •Функция delete
- •Аргументы командной строки
- •Доступ к переменным окружения
- •Файловый ввод и вывод
- •Открытие файлов и других потоков
- •Построчное чтение и запись данных
- •Чтение и запись блоков данных
- •Обработка бинарных данных
- •Хранение бинарных данных
- •Распаковка строк бинарных данных в переменные языка perl
- •Упаковка данных в бинарные строки
- •Работа с каталогами
- •Открытие, чтение и закрытие каталогов
- •Форматированный вывод
- •Использование функции print
- •Форматированный вывод данных функцией printf
- •Вызов внешних программ из скрипта на языке perl
- •Регулярные выражения
- •Обзор регулярных выражений
- •Синтаксис регулярных выражений
- •Использование регулярных выражений для поиска по ключевымсловам
- •Использование регулярных выражений для анализа входных данных
- •Регулярные выражения для поиска и замены строк
- •Создание скриптов cgi с помощью perl
- •Вызов cgi-скрипта
- •Вызов сgi-скрипта в системе unix
- •Вызов скрипта на языке perl из dos и windows
- •Создание текста и html-документа с использованием языка perl
- •Добавление в документ динамических свойств
- •Доступ к строке запросов
- •Декодирование html-форм с помощью метода post
Создание скриптов cgi с помощью perl
В это главе вы научитесь использовать Perl для созданияскриптов CGI. Коротко говоря, вы получите возможность сочетатьваши знания по языку Perl и CGI, полученные в предыдущих главах.Кроме того, вы узнаете несколько новых приёмов программированияна языке Perl. Как вы уже знаете, можно создать скрипты CGI, используяпрактически любой язык программирования. Чтобы быть грамотнымWeb-программистом, вы должны не только знать, как писать программы для WEB, но также необходимо иметь представление о том, какиесредства использовать для решения специфических задач. За счётправильного выбора языка программирования и программных средств всоответствии с вашей задачей, вы можете значительно повысить эффективность работы и сэкономив много сил и времени. Когда вы используете язык Perl для создания скриптов, можно создать устойчивые профессиональные скрипты за относительно короткий промежутоквремени. Остаток этой главы посвящен изучению программированияCGI-скриптов на языке Perl. К моменту окончания изучения этойглавы вы поймете следующие концепции:
? Perl представляет собой эффективное средство для создания надежных скриптов без написания кодов большого объёма, что выгодноотличает его от других языков программирования, таких как C и С++.
? Версия 5 языка Perl добавляет много новых возможностей, такихкак поддержка объектно-ориентированных скриптов и усовершенствование техники определения области видимости переменных.
Почему разработчики используют Perl для создания CGI- скриптов?
Предыдущие две главы должны были составить у вас представление о том, что такое CGI и почему мощные возможности языка Perlпо обработке текстов делают его хорошо приспособленным для разработки CGI-скриптов. Другие причины и пользования разработчикамиязыка Perl для написания CGI-скриптов заключаются в том, что Perlобеспечивает широкую поддержку взаимодействия с базами данных,обладает переносимостью и обеспечивает безопасность при работе всетях. Как уже говорилось, Perl представляет собой один из наиболее мощных языке программирования для обработки текстов. СкриптыCGI обычно имеют дело с интенсивной обработкой текста: анализомданных, обеспечением доступа к база данных, генерацией HTML-страниц и т. д. Типичный CGI-скрипт, написанный на языке Perl, по своемуразмеру представляет собой фрагмент программы аналогичного назначения, написанной на C++. Как вы увидите дальше в этой главе,Perl обеспечивает поддержку взаимодействия с базами данных. Посуществу, Perl имеет встроенный менеджер баз данных Perl был перенесен почти что на все популярные вычислительные платформы такие как Windows, UNIX, MS, DOS. To обстоятельство, что Perl является 6ecплатным, также увеличивает его привлекательность. Поскольку Perl не использует указателей, то он является более безопасным и надежным языком, чем С и C++. За счет исключения использования указателей предовращается нарушение доступа к памятии связанные с этим ошибки. Кроме того используя регулярные выражения языка Perl, легко проверить целостность входных данных иотфильтровать всякие escape-последовательности, которые МОГУТ угрожать безопасности вашей системы. Наконец, для повышения безопасности имеется специальная версия Perl, называемая taintperl,предотвращающая использование каких-либо входных данных в качестве системных команд. Дополнительную и информацию о taintperlможно найти на Web-узлах, указанных в конце этой главы.