Все 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] [След]