Учебное пособие по CGI-программированию
Страница 4. Прекрасный язык 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='https://'.'www.uic.nnov.ru';
xПовторение$x='1234'x5; #$x='12341234123412341234'
=~Сопоставление с образцомif($url=~/https/){print "HTTP";}
!~То же но с отрицаниемif($url!~/https/){print "No HTTP";}
= += -= *= /= %= **= |= &= ^= ~= <<= >>= .= x=Присваивание$x+=$y;
   

Пусь это будет вам справочником ,да кстати насчет строк,вы заметили,что они могут быть в двойных и одинарных кавычках, разница между ними состоит в том ,что в одинарных не осуществляется подстановка переменных, а в двойных осущестляется, Например:

$x='qwerty';
print 'my var is $x'; #выведет my var is $x
print "my var is $x"; #выведет my var is qwerty

 
« Предыдущая статья