Ноу Інти, лекція, введення в програмування на perl

Анотація: У цій лекції детально розбираються особливості програмування CGI-скриптів на мові Perl. Визначаються правила виклику скрипта, передачі йому даних і отримання результатів роботи скрипта для подальшого використання в HTTP-обміні і генерації HTML-сторінок. Розбираються причини популярності Perl-скриптів серед Web-програмістів.

Мова програмування Perl є основним засобом розробки CGI-скриптів для Web-вузлів. Його не було застосовують тільки там, де потрібна висока ефективність коду і немає стандартних бібліотек для Perl.

Perl як мова розробки скриптів має ряд переваг. Перерахуємо їх у порядку значущості:

  • незалежність від програмно-апаратної платформи;
  • потужні засоби розбору рядків;
  • простота роботи зі змінними оточення;
  • простота роботи з вхідними та вихідними стандартними потоками;
  • можливість читання заданого числа символів з вхідного потоку;
  • хешировать таблиці;
  • можливість організації конвеєрів;
  • бібліотеки TCP / IP-обміну;
  • безліч стандартних бібліотек прикладних програм.

Все це робить програмне забезпечення. написане на Perl, мобільним, а розробку програм - швидкою і простою.

Структура Perl-програми

Програма на Perl складається з операторів мови, які повинні закінчуватися символом ";". наприклад:

У загальному випадку оператори діляться на прості і складові. Простий оператор - це оператор print. наприклад, а складовою - while ():

Програма на Perl виконується інтерпретатором Perl. Є й компілятори з цієї мови, але вони використовуються рідше. При програмуванні CGI-скриптів в Unix інтерпретатор викликається з того ж файлу, який містить програму, наприклад:

В даному випадку перший рядок - це виклик інтерпретатора із зазначенням повного шляху до нього від кореневого каталогу файлової системи.

Зручна також і Samba, яка дозволяє редагувати "за місцем" з Windows в Unix.

Стандартний потік виводу

Основна мета створення CGI-скрипта - обробка даних запиту користувача і формування відгуку сервера на цей запит. Можна розглядати й інші завдання, які дозволяють вирішувати CGI-скрипти, але ця задача - головна. Скрипт повинен формувати не просто відгук, а HTTP-відгук. Це означає, що він повинен сформувати заголовок і тіло HTTP-повідомлення, які відокремлюються один від одного символом нового рядка.

Найпростіше реалізувати такий відгук за допомогою команди print:

Перший рядок визначає заголовок HTTP-відгуку і порожній рядок (два символи "\ n \ n"). Решта оператори print формують тіло повідомлення. Оператор print пише в стандартний висновок список своїх аргументів. Взагалі кажучи, print можна використовувати для виведення даних в будь-який файл. Якщо ім'я файлу не вказано, то висновок здійснюється в стандартний потік виведення.

змінні оточення

Скрипт породжується сервером в деякій операційному середовищі. Це середовище називається оточенням (environment). Частиною оточення є так звані змінні оточення. При виклику скрипта їх породжує і надає їм значення HTTP-сервер. Список змінних визначено специфікацією Common Gateway Interface.

У Perl існує вбудований системний масив змінних оточення% ENV. Символ "%" перед ім'ям масиву означає, що це масив асоціативний, тобто значення елемента масиву може бути вибрано шляхом вказівки ключа, з яким воно пов'язане. Наприклад, потрібно визначити метод доступу до скрипту:

В даному контексті символ "$" перед ім'ям масиву не повинен вводити в оману. Звернення відбувається до елементу асоціативного масиву. Це скаляр, тому і застосовується символ "$". Ключ, за яким вибирається значення, вказано в фігурних дужках.

Дуже корисний скрипт роздруківки всіх змінних оточення. які передані скрипту (perlenv2.htm). Зазвичай цей звіт отримують при налагодженні HTML-форм:

Цей простий скрипт роздруковує значення всіх змінних оточення. використовуючи цикл foreach. У цьому циклі змінна циклу hkey пробігає по всьому унікальним ключам (іменах змінних оточення), які доставляє функція keys.

Схожі статті