|
1 2 |
eval EXPR eval BLOCK |
При работе с функцией eval, можно использовать 2 варианта записи функции: eval BLOCK и eval EXPR. Каждый из вариантов имеет свои особенности в использовании.
|
1 2 |
eval EXPR eval BLOCK |
При работе с функцией eval, можно использовать 2 варианта записи функции: eval BLOCK и eval EXPR. Каждый из вариантов имеет свои особенности в использовании.
Функция sub используется для определения подпрограмм в коде perl-программы.
Sort - это встроенная функция perl.
|
1 |
sort LIST |
По умолчанию, sort сравнивает элементы переданного списка как строки, сортирует их в алфавитном порядке и возвращает отсортированный список. Если задана директива use locale, при сортировке будут учитываться национальные установки.
Приведенных ниже примеров вполне достаточно, чтобы получить представление о принципах работы
с модулем HTTP::Daemon, и об организации работы простого сервера.
Основной особенностью работы с HTTP::Daemon является то, что функциональность сервера обеспечивается не самим HTTP::Daemon, а массой дополнительных модулей: URI, HTTP::Request, HTTP::Message, HTTP::Headers, HTTP::Response. И для создания даже простого сервера, требуется понимать каждый из них.
Просматривая статистику, я обнаружила, что большая часть посетителей ищет информацию "для начинающих". Теперь планирую опубликовать описание всех встроенных в perl функций. Вполне вероятно, за несколько месяцев эту задачу можно выполнить. Сегодня - описание функций для работы с хешами.
Пакет Storable позволяет сохранять сложные структуры данных на диске, в файлы.
Очень удобно, если учесть, что одной из сильных сторон Perl является именно работа с файлами и текстом. В некоторых случаях этот подход может полностью устранить необходимость работы с БД.
Несколько простых примеров работы со Storable. Методы nstore, nstore_fd и lock_nstore в данном тексте не рассматриваются.
Как уже говорилось ранее, пароли лучше хранить в зашифрованном виде.
Краткое описание алгоритма:
После того, как хранение сессионных данных было перенесено в базу данных mysql, следующим логичным шагом стала реализация получения аутентификационных данных из БД mysql.
Пример основан на предыдущем варианте кода. Скрипт cgi и содержимое шаблона tt остались неизменными. Изменения вносились только в модуль App2.pm (в предыдущем примере это был App3.pm), в блок cgiapp_init.
Данный пример демонстрирует создание сессии и ее хранение в базе данных mysql.