foreach $ralias (@{$refarrayptr}) { $raliashash = $ralias; $reference = $ref{$raliashash}; $ralias = ${$reference}[0]; } #### DB<43> x $refarrayptr 0 ARRAY(0x9bfef4c) 0 'key' DB<44> #### DB<48> x $refarrayptr 0 ARRAY(0x9bfef4c) 0 'a' DB<49> #### ./testprob.pl Initial content of ARRAY(0x9ead350) -> key Final content of ARRAY(0x9ead350) -> a #### #!/usr/bin/perl @list = qw(a b c d); $reflist = \@list; #$ref{$reflist} = $reflist; $ref{'key'} = $reflist; push(@refarray,keys %ref); $refarrayptr = \@refarray; foreach $ralias (@{$refarrayptr}) { print "Initial content of $refarrayptr -> " . @{$refarrayptr}[0] . "\n"; $raliashash = $ralias; $reference = $ref{$raliashash}; $ralias = ${$reference}[0]; print "Final content of $refarrayptr -> " . @{$refarrayptr}[0] . "\n"; }