Памятка по ссылкам на данные в языке perl.
Создание ссылки:
на именованные данные (допустим, для передачи их в функцию):
$scalarReference = \$scalar;
$arrayReference = \@array;
$hashReference = \%hash;
на безымянные данные (допустим, для возврата их из функции):
$arrayReference = [ "item one", 'item 2', $item3 ];
$hashReference = { APR => 4, AUG => 8 };
вытаскивание данных из таких ссылок:
полностью:
@array = @{$arrayReference};
%hash = %{$hashreference};
и, соответственно, если нам нужен только отдельный элемент:
$arrayElement3 = ${$arrayReference}[3];
$hashElementRed = ${$href}{'red'};
или вот так:
$arrayElement3 = $arrayReference->[3];
$hashElementRed = $hashReference->{red};
есть возможность манипуляции непосредственно данными по ссылке:
${$arrayReference}[3] = 'solar';
${$href}{'red'} = 'flame';
или
$arrayReference->[3] = 'solar';
$hashReference->{red} = 'flame';