При задании строк тоже нет существенных отличий. Единственная особенность - в Perl строки могут быть в двойных (") и в одинарных (') кавычках. Эти записи имеют различие. Дело в том, что в двойных кавычках подстановка переменных осуществляется, а в одинарных - нет. Вот пример демонстрирующий разницу:
$name='Nick';
print 'My name is $x'; #выведет My name is $name
print "My name is $x"; #выведет My name is Nick
Переменные в языке могут быть трех типов: скалярные , списочные (массивы) и хэши (ассоциативные массивы) . . Для указания компилятору перед именем скалярной переменной стоит знак $, перед массивом - знак @, перед хэшем - знак %. Главное достоинство переменных в языке Perl - это их динамичность. Так, например, можно добавлять к строке несколько символов - Perl сам перераспределит память, и об этом не надо заботиться программисту.
Теперь подробнее о каждом типе:
Например "123" + "7" даст в результате 130, так как операция "+" действует над числами, a если применить операцию конкатенации строк ".", то "123"."7" даст в результате "1237"
Список можно использовать в присваиваниях справа:
@List=(1,2,3..6);
($x,$y)=@List; #$x=1, $y=2
($x,$y, @List2)=@List; #$x=1, $y=2 @List2=(3,4,5,6)
Обратиться к элементу массива можно в следующей форме $имя_массива[индекс]. Обратите внимание на знак $ - мы ведь обращаемся к элементу-скаляру.
Можно обращаться к нескольким элеметам массива (к срезу массива):
@List=(1..10);
@List[2,3,5,9]=(100,200,300,400);#@List=(1,100,200,4,300,6,7,8,400,10)
@LIst[1..10]=@List[10..1]; #меняет местами элементы
У массивов есть свойство динамически расширяться. Если присвоить значение элементу с несуществующим номером, массив вырастет.
Массив можно использовать также как стек иди очередь. Для этих целей в Perl есть функции
push(@A, $v); #добавляет $v в конец @A
$v=pop(@A); #забирает $v из конца @A
$v=shift(@A); #забирает $v из начала @A
unshift(@A, $v); #добавляет $v в начало @A
Конструируется хэш так:
$my_hash[1]="a";
$my_hahs[2]="world";
$my_hahs['b']="w";
Хэш может быть также скоструирован из массива с четным числом элементов. При этом пары элементов превращаются в пары "ключ-значение":
%h=(1..4) # $h{1}=2; $h{3}=4;
Удаление из хэша производится с помощью операции delete:
delete($h{1});
Eсть также функции keys() и value() , выдающие ключи и значения соответственно.