Создание серверных приложений на языке PERL


Прекрасный язык Perl



Вы наверное обратили свое внимание что CGI скрипты пишутся обычно на языке Perl (Practical Extraction and Report Language)- очень удобном языке,впитавшем из других все лучшие черты.Может у вас возникнуть сомнение :Ну вот!Изучать новый язык программирования!? Спешу вас успокоить,изучение Perl не будет в тягость (я сужу по своему опыту!). Вы даже сами не заметите как выучите его.Если вы хоть когда-нибудь программировали скажем на C и использовали утилиту grep для поиска регулярных выражений в тексте,то вам будет еще легче.Мое изучение Perl

началось с того что я скачал Perl

под Windows (фирмы ActiveWare) и изучения той HTMLой документации которая к нему прилагалась хватило чтоб этот язык стал моим любимым....

Все в нем сделано для удобства программиста (в отличии например от Java;( )

Начнем с переменных,они в Perl

бывают 3х типов скаларные,списковые(массивы)

и хэши(ассоциативные массивы). Для указания компилятору(да и для немалого удобства программиста) перед именем скалярной переменной стоит знак '$' перед массивом '@',перед хешем '%'. т.е. например $scalar_var,@array_var,%hash_var

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

Например: "123"+"4" будет 127 (или "127") так как операция '+' действует над числами а вот если применить операцию конкатенации строк '.'

то строковое "test" . 1 будет "test1"

Ну а вот операции над скалярными переменными:

Операцыи Описание Пример
+ - * / % Арифметические print 2*7+4/(8%3);

print int(127/15); #целая часть

** Возведение в степень print 2**16;
++ -- Инкремент-декремент $i++;
& | ^ ~ << >> Побитовые $x=3;$y=4;

print $x|$y;

print $x&$y;

== != < > <= >= <=> Числовые операции сравнения if($x==9){print "Ok!";}
eq ne lt gt le ge cmp стрковые операции сравнения if($game eq 'doom'){print "You are doomer!\n";}
|| && ! Логические if(($x==9)||($game eq 'doom')){print "hello you!\n";}
?: Условный оператор $x=($game eq 'quake'?9:8);
, Последовательное вычисление $x=10,$y=20;
. Конкатенация $x='http://'.'www.uic.nnov.ru';
x Повторение $x='1234'x5; #$x='12341234123412341234'
=~ Сопоставление с образцом if($url=~/http/){print "HTTP";}
!~ То же но с отрицанием if($url!~/http/){print "No HTTP";}
= += -= *= /= %= **= |= &= ^= ~= <<= >>= .= x= Присваивание $x+=$y;
   
<


Начало  Назад  Вперед