Памятка по ссылкам на данные в языке 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';

Next Post