Учебное пособие по CGI-программированию - Списки, массивы и хеши
ОГЛАВЛЕНИЕ
Списки: Списочные переменные начинаются с символа '@' конструируются следующим образом @List1=(1,2,5,70);
Также можно список использовать как lvalue:
@List2=(12,23,@List1); #12,23,1,2,5,70
@Rgb=($r,$g,$b);@List=(1,2,3..8,15);
($x,$y,$z)=@List; #$x=1,$y=2,$z=3
($x,$y,$z,@list2)=@List; #$x=1,$y=2,$z=3,@list2=(4,5,6,7,8,15);
($r,$g,$b)=@Rgb;
Можно обращаться к нескольким,выбраным элементам массива(срезу массива): @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];#меняет местами элементы
Теперь немного о хешах:
хеш это такой массив который состоит из пар ключ-значение, весь хеш обозначается %хеш ,к отдельным элементам доступ $хеш{скалярное выражение} конструируется хеш так: $my_hash{1}="doom";
Хеш может быть также сконструирован из массива с четным числом элементов где пары превращаются в ключ-значение
$my_hash{'quake'}="www.idsoftware.com";
$my_hash{1+2}=100;%hash=(1,20,2,100);#аналогично $hash{1}=20;$hash{2}=100;
удаление из хеша -операция delete: delete $hash{1};
есть функции выдающие ключи и значения соответственно. %hash=(1,20,2,100,3,'doom');
@k=keys %hash; #@k=(1,2,3);
@v=values %hash;#@v=(20,100,'doom');