Учебное пособие по CGI-программированию Страница 4. Прекрасный язык Perl
|
Страница 4 из 30 Прекрасный язык 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
|