|

CuTTer (icutter@mail.ru)
Perl для перцев
Xakep, номер #020, стр. 020-042-6
$value="ляля-кал-выкинь-отстой";
@values=split (/-/,$value);
$value2=join (":", @values);
print $value2;
На мониторе должно появиться вот это: ляля:кал:выкинь:отстой. В Перле также существует полезная функция substr. Она поможет тебе вырезать фрагмент строки. Вот ее параметры:
$a = substr ($строка, начало, длина);
Начальная позиция определяется следующим образом: первый символ - это нуль, а второй - только единица. Длина - это количество символов, которое надо извлечь из строки. Чтобы легче понять все это, напишем программу:
$what="hello, MazaFucka!"; # $what - первоначальная строка
$get=substr ($what, 7, 10);
print $get;
Хе-хе, после запуска программы тебя обидно обзовут, сказав, что ты MazaFucka!. Но ты на нее не обижайся. :). Просто сотри ее.
Basic CGI: цгайки без понтов
Вообще, как мне кажется, Перл - почти идеальный язык для написания программ под Интернет. Можно писать на васике, паскале, сях и еще чем-нибудь, но perl-coding меня прет больше всех.
Чтобы и ты от него проперся, я расскажу про полезные переменные, которые тебе понадобятся при написании скриптов под CGI. Если ты не знаешь, что такое CGI, то я тебе объясню. CGI - Common Gate Interface. Эта хрень сделана, чтобы ты мог нормально писать проги для Инета. Ну так вернемся к нашим ежам, ой, к переменным, точнее к хешам :). Начнем с хеша %ENV. В нем хранится почти вся инфа, передаваемая нашей программе. Давай просто напишем скрипт, чтобы ты все понял:
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "Ваш IP: $ENV{REMOTE_ADDR} \n";
print "Параметры: $ENV{QUERY_STRING} \n";
print "О пользователе: $ENV{HTTP_USER_AGENT} \n";
Эту программу нужно пускать через браузер, а не через компилятор. Тебе нужно будет закачать этот скрипт на какой-нибудь сервак, где есть поддержка Перла, или установить у себя на компе веб-сервер, благо их в нете много:
Apache Web server (Unix/Windows) - http://www.apache.ru
Xitami Web server (Unix/Windows) - http://www.imatix.com
OmniHTTPd (Windows) - http://www.omnicron.ab.ca/httpd/
MicroWeb server (Windows) - http://www.demobuilder.com
Small HTTP server (Windows) - http://wwwwin.wplus.net/pp/mrdoors/srv/
TinyWeb (Windows) - http://www.ritlabs.com
А сюда ты можешь залить все необходимые CGI-скрипты:
www.virtualave.net
www.hypermart.net
www.agava.ru
www.ero.ru
www.prohosting.com
www.freedom2surf.net
Например, если ты вызовешь программу через браузер так: http://127.0.0.1/cgi-bin/test.cgi?what=sucks, то на экране должно появиться вот это:
Ваш IP: 127.0.0.1
Параметры : what=sucks
О пользователе: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
Наверное, ты не в курсе и не поймешь, что значит строка print "Content-type: text/html\n\n";. Она обозначает, что будет выводиться HTML файл, это сделано для того, чтобы браузер смог понять: какого хрена, тьфу, какого типа файл ему выдают.
Назад на стр. 020-042-5 Содержание Вперед на стр. 020-042-7
|