Всем снова привет.

Вот и пятница, по традиции — перл-пост. И, раз уж я тронул традиции, скажу, что это последний пост про шестой перл. Можно сказать, что месячник Perl 6 закончился, и этот пост — последний.

По этому поводу хочу сказать спасибо всем, кто принимал участие в беседах, комментировал или еще как-то давал о себе знать в связи с моими статьями, без вас бы этих статей не было.

Еще одна новость для тех, кто интересуется Perl 6: все посты я бережно сохранил в одном очень хорошем месте. Формат вики для этого подходит идеально, потому что на основе этих статей планируется небольшой учебник, т.е. статьи можно и нужно править, и это все приведет к скоплению знаний в одном месте, да еще и на русском языке.

Но, ближе к body. Сегодня я расскажу, как писать сайты на Perl 6. Кое-какие вещи можно делать уже сейчас.

Не смотря на то, что Perl 6 еще не вышел в официальное обращение и на продакшен-серверах появится не скоро, на нем уже сейчас можно написать небольшое веб-приложение. 

Конечно, главная «достопримечательность» в мире Perl 6 — это November-wiki, но и простой скрипт можно написать на Perl 6 довольно легко.

Поэтому, предлагаю простую игру «Угадай число», цель которой будет — продемострировать, как сегодня можно написать скрипт на шестом перле. Хочу обратить внимание на то, что это действительно демонстрационная программа, которую любой школьник может написать за пару часов. Цель ее — просто показать, что можно, а что нельзя.

В самом начале может быть задан вопрос: как настроить сервер, чтобы он запускал perl6-скрипты? Отвечу на него просто: никак. Единственное ваше участие в работе сервера будет заключаться в том, чтобы сделать скрипт исполнимым и в начале написать строчку:

#!/usb/bin/perl6

Как сделать так, чтобы по адресу /usr/bin/perl6 у вас находился Rakudo, читайте в моей самой первой статье про Perl 6.

Основным неудобством разработки на Perl 6 остается нехватка простых инструментов, к которым все мы уже давно привыкли. В частности, модуля CGI. Конечно, можно взять класс CGI, что является частью November-wiki, но он изначально заточен на то, чтобы быть превращенным в байт-код и исполняться на Parrot, поэтому быстродействие его меня сильно смущает.

Поэтому, пришлось написать небольшой класс CGI::Params самому. Не смотрите на то, что он, быть может, не решает какие-то задачи, ему нужно лишь получать данные, переданные методами GET и POST.

Код этого класса легко можно поместить внутрь кода основной программы, так, например, работает у меня. Или вынести в отдельный файл и зацеплять его потом строчкой:

use CGI::Params;

Дальше просто. Содать объект класса:

my $cgi = CGI::Params.new;

Получить число:

my $num = $cgi.param('num');

Загадать число, создать результат:

my $s_num = 23;
my $res;

Сравнить полученное число с тем, что загадали:

given $num {
when $num == $s_num { $res = "Угадал!"; }
when $num eq '' { $res = "" }
when $num < $s_num { $res = "Слишком мало"; }
when $num > $s_num { $res = "Слишком много"; }
default { $res = "" }
}

Выдать результат и форму:

$cgi.send_response;
say "<h1>Enter number:</h1>";
say "<h3>$res</h3>";
say "<form method=post><input name=num><input type=submit></form>";

Все.

Не думайте, что я рассматриваю этот скрипт как что-то, что может всерьез заменить мне youtube. И да, я знаю, что вывод пустого результата создаст такую штуку: <h1></h1>. Но это и не страшно. Главное — попробовать самому написать хоть что-то на шестом перле. Ведь это интересно, не так ли? ;-)

shootnix
shootnix
28 августа 2009, 02:39
 4  
просмотров
918
8
 
akost
28 августа 2009, 18:51
0
Я же говорил, плюсы ставят(мы типо чюжой труп уважаем), но всем похуй.
shootnix
28 августа 2009, 18:54
0
Не надо обобщать, не всем.
akost
28 августа 2009, 19:05
0
Хорошо, всем кроме тебя.
P.S.
Из-за низкой кармы я комментирую редко.
shootnix
28 августа 2009, 19:13
0
Ну да, да, кроме меня. Главное, дыши ровнее. Никто тебя не обидит.
Чтобы оставлять комментарии, Вы должны быть авторизованы. Если у Вас нет логина, то пройдите регистрацию.
участники
shootnix
Rex
edmond-mouse
mikusya
Legend_FoX
PeterWilson
askhattk
barmaglot
wwax
tima888
t-sh
Sigurt
zloyrusskiy
goodev
10275
PILIGRIM
войти
зарегистрироваться
сообщества
последние записи
записи по обсуждениям
записи по рейтингу
создать новое сообщество
личные блоги
последние записи
записи по обсуждениям
люди
самые активные
новые
по городам
по интересам
блог проекта
правила участия
помощь
мы на других сайтах
реклама
конкурсы
контакты
WebEverywhere, 2008-2010

Lyakhov.KZ - Большая энциклопедия Казнета Lyakhov.KZ - Большая энциклопедия Казнета