Перлинні форми

… або як долучитися до Perlовой каші швидкого приготування

Сергій Голубицький, www.compuferra.ru

Я пам'ятаю, як перший раз в житті вирішив створити інтерактивну сторінку в Інтернеті. Запустив редактор, намалював форму, відіслав на сайт, пішов тестувати. Ось дурилка картонна: клікаю мишкою на кнопці "Відправити", і нічого не відправляється. Товаришів програмістів на зарплаті прошу не знущатися: мене будь-який ламер зрозуміє. Саме так всі ми, ламери, і сприймаємо реальність програмування: щось на зразок магічного світу з чарівними паличками. От є мертва форма, і як її не турбувати, вона не оживе. А ось підійшов чарівник у ковпаку, поколупався, паличкою помахав, і все запрацювало.

Ще через якийсь час я дізнався, як називалася чарівна паличка для пожвавлення форми – cgi-script ("сі-джі-ай-скрипт"). Ще я дізнався, що скрипт пишуть на мові, що називається Perl. Хоча можна писати на C, але вважають за краще Перл. Потім, в 1995 році, я опинився в офісі компанії "ІнфоАрт" і під час екскурсії, яку мені влаштували, відразу помітив хлопця-доходягу з товстими лінзами очок і тоненькими рученятами. На його столі лежало огроменное кніжіще під назвою "Перл". "Ось він, – подумав я, – той самий перловий програміст. Не сьогодні-завтра помре від виснаження". Після відвідування цього хоспісу мою повагу до "Скриптам" досягла міфічних розмірів.

Як і кожен самовпевнений ламер, я вирішив познайомитися з перлом ближче і почав читати розумні книжки. Але з усіх програмістських книжок, книжки про Перлі виявилися самими нахабними. Весь їхній пафос зводився до одного: "Орли, ну ми-то з вами розуміємо, що на C + + тут має стояти дужка, але в нашому Перлі – все простіше". Такий собі міжсобойного-елітарний клуб любителів спрощених варіантів. Коротше кажучи, у ламера є тільки два способи оживити свої форми: найняти перловщіка або знайти скатертину-самобранку.

Ну а тепер – хороші новини. Такі "самобранки" існують. Мені відомо цілих дві. Про них і розповім.

Перша "сі-джі-ай-писалки" – CGI Star Pro. Саме в ній веселе – це доважок "Professional" у назві. Звучить як справжнє знущання, тому що у професіонала CGI Star Pro нічого крім нудоти викликати не може. Зате для ламера – це порятунок. Справитися з нею зуміє навіть кінчений аутист. Все, що потрібно, – це:
А – Намалювати форму.
Б – Запустити CGI Star Pro і вибрати тип сервера – під Unix або NT.
В – Відкрити html-сторінку, яка містить вашу форму. Після цього CGI Stap Pro перевіряє код, попереджає про відсутність обов'язкових полів (наприклад, User_name, User_mail) і дає рекомендації щодо правильного написання форми.
Г – Помітити зірочкою (*) ті поля форми, які обов'язкові до заповнення.
Д – Вказати точний мережеву адресу, де буде розміщуватися скрипт, а також місце розташування юніксовскіх програм mail і perl.
Е – Написати простенький текст для повідомлення, яке отримає відвідувач вашої сторінки після того, як вдало заповнить форму, і …

Все! Натискаєте на кнопку "Write CGI", і програма сама генерує код. Заради інтересу відкрийте створений файл і спробуйте порахувати, скільки років вам би треба було для того, щоб самому залудити таку абракадабру.

Після створення скрипта найголовніше – правильно перекинути його на сервер. У дев'яноста випадках зі ста ламерскій скрипт не працює саме тому, що його неправильно перекидають. Справа в тому, що у протоколу ftp буває два методи передачі даних: АSCII (для тексту) та binary (для програм). Скрипти з розширенням cgi слід передавати не як програму, а як текст, тобто ASCII.

Звичайно, сказати, що можливості CGI Star Pro дуже вузькі, значить нічого не сказати. Насправді сі-джі-ай-скрипти використовуються не тільки для інтерактивних форм, але й для мільйона інших корисних справ: ведення статистики відвідувань сайту, створення гостьової книги, опитування думок, створення інтерактивних тестів і Квіза, проведення шлюзів до реляційних баз даних, здійснення пошуку та індексування сайтів і т. п.

І тут у ламера є ще два варіанти: по-перше, відвідати сайт download.ru, де покоїться непогана колекція найрізноманітніших скриптів на всі випадки життя. Інший варіант – це програма PerlBuilder. Тільки одразу хочу попередити: PerlBuilder – це не CGI Star Pro. Тут натисканням двох кнопочок не відбудешся. Зате і можливості програми на кілька порядків вище.

PerlBuilder претендує на те, щоб вважатися не просто програмою, але справжньої інтегрованої середовищем розробника (IDE – integrated development environment) для створення скриптів Перл на платформі Windows 95/NT. Крім дуже зручного графічного інтерфейсу, PerlBuilder володіє можливістю налагоджувати скрипт і проводити його дебаггінг, як то кажуть, "не відходячи від каси" (правда, для цього потрібно додатково встановити безкоштовний Перл для Windows [1]). Крім цього в PerlBuilder включений Майстер підказок, що на порядок більш гнучкий, ніж CGI Star Pro, хоча по своїй простоті не поступається австралійському примітивіст.













Ще трохи Перла

Є і ще одна оболонка – DZ Perl Editor. Вона не настільки "візуалізувати", як PerlBuilder і надає повну свободу для любителів у всьому розібратися досконально і зрозуміти, як "це" працює. У програмі є можливість автоматичної вставки блоку коду для обробки форм, що відправляються як методом GET, так і POST. Проте допомога (англійською) реалізована в кращому дусі юніксових / лінуксових конференцій – коли треба дізнатися щось конкретне, тобі вивалюють гори малозрозумілою документації. Вобщем, досить непоганий варіант для тих, кому стало цікаво внутрішній устрій Perl-скриптів.

Ну і наостанок хочу додати, що мало буде зробити або завантажити скрипт – найголовніше, щоб адміністратор сервера, де лежить Ваш сайт, допускав розміщення у себе Ваших невідомих звіряток. У кращому випадку, доведеться довго умовляти його, що скрипт ну просто конче необхідний і взагалі – розплата віртуальним пивом. А в гіршому (для Вашої самодіяльності, але не для адміна) випадку доведеться задовольнятися підключенням до всеразлічние безкоштовним CGI-скриптів і, швидше за все, абсолютно безкоштовно вчитися не звертати увагу на рекламу, яку Вам за це будуть згодовувати.

Дмитро Шарапенко

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*