in reply to syntax issue
You can't print "@${a}\n" because you don't have an array reference named 'a'. This works:
my $a = \@{$h{a}}; print "@${a}\n"; # or just "@$a\n";
And the outer curlies in "@{$h{a}}\n" surround an array reference. Reading it inside-out, you have a hash key $h{a} whose value is an anonymous array. To print that value, you dereference it with @{}.
|
|---|