Все Perl-программы должны начинаться со строки, указывающей путь к Perl-интерпретатору. Эта строка обычно выглядит так:
#!/usr/bin/perl
Эту строку желательно использовать как под Linux, так и под Windows (вдруг скрипт придётся на сервер заливать). Без данной строки программа не будет выполняться.
В структуру Perl`а входят: переменные, операторы, специальные символы. Все переменные начинаются с символа "$" - как символьные так и числовые. Задаются переменные следующим образом:
$a=10; # Числовая переменная
$b="simvol"; # Символьная переменная
Как численные, так и символьные переменные являются скалярными переменными. Рассмотрим действия, которые можно производить над скалярами:
Операция |
Описание |
Примеры |
+ . / % |
Арифметические действия |
print 2*7+4/(8%3);
print int(127/15); #Целая часть
|
** |
Возведение в степень |
print 2**16; |
++ -- |
Инкремент и декремент |
$i++; # Увеличить переменную $i на 1 |
& | ^ ~ << >> |
Побитовые операции |
$x=3; $y=4; print $x|$y;
print $x&$y;
|
== != < > <= >= <=> |
Числовые операции сравнения |
if ($x==9) { print "Ok!"; } |
eq ne lt gt le ge cmp |
Строковые операции сравнения |
if ($test eq 'ok') { print "All right!"; } |
|| && ! |
Логические операции |
if (($test eq 'ok') || ($x==9) { print "All right!"; } |
, |
Последовательное вычисление |
$x=10,$y=20; |
. |
Склеивание |
$url='http://'.'rambler.ru'; |
x |
Повторение |
print '1234'x3; # Получится '123412341234' |
=~ !~ |
Сопоставление с шаблоном |
if ($url=~/http/) { print "HTTP"; } |
= =+ =- *= /= %= **= |= &= ^= ~= <<= >>= .= x= |
Присваивание |
$x+=$y; # Прибавит к переменной $x переменную $y
|
Стоит отметить разницу между апострофами и кавычками, использующихся в присваивании. В кавычках осуществляется подстановка переменных и спец. символов, а в апострофах нет. Чтобы игнорировать подстановку в кавычках, следует перед спец. символом поставить слеш ( \ ).
$x='perem1';
print 'Var = $x'; или print "Var = \$x"; # Выведет 'Var = $x'
print "Var = $x"; # Выведет 'Var = perem1'
Массивы
Массивы начинаются с символа @ и конструируются следующим образом:
@array1=(1,2,3,4,5);
@array2=(30,40,@array1); # Добавление к @array2 всех элементов @array1
@array3=($perem1,$perem2,$perem3);
Обращение к элементам массива осуществляется так:
@array1=(1..20);
@array1[2,10,20]=(20,3,4); # Замена элементов под номерами 2 10 и 20 числами 20 3 и 4
@array1[20,1]=@array1[1,20] # Меняет элементы местами
Обращаться к отдельному элементу массива (скаляру) можно в форме $имя_массива[индекс].
Для массивов существуют также такие функции как push(), pop(), shift(), unshift().
push(@array1,$perem1); # Добавляет $perem1 в конец @array
unshift(@array,$perem1); # Добавляет $perem1 в начало @array
$perem1=pop(@array1); # Присваивает $perem1 последнему элементу массива @array
$perem1=shift(@array); # Тоже самое с первым элементом
Хэши
Хэш - массив, состоящих из пар "Ключ-значение". Доступ к каждому значению записи осуществляется по ассоциированному с ним ключу. Хэш выглядит так: %имя_хэша. Доступ к оттедльным его элементам: $имя_хэша{выражение}.
Кострукция хэша выглядит следующим образом:
$hash{1}="key1";
$hash{'myset'}="www.rambler.ru";
$hash{1+2}=50;
%hash(1,20,2,100); # Чётное кол-во элементов обязательно!
# Запись аналогична $hash{1}=20; $hash{2}=100;
Удаление элементов из хэша производится с помощью операции delete:
delete($hash{1});
Выделить отдельные ключи и значения хэша можно при помощи функций keys() и values() соответственно:
%hash(1,20,2,100,3,'test');
@key=keys(%hash); # @key=(1,2,3);
@value=values(%hash) # @value=(20,100,'test');
[Пред] [1] [2] [3] [4] [5] [След]