in reply to Re^2: Allocation of anonymous arrays
in thread Allocation of anonymous arrays
you don't have to keep all $arefs after construction.
DB<112> for $aref ( [1,2,3],[4,5,6],[7,8,9] ) { $lookup{$aref} = $aref; $hash{$aref} = [ reverse @$aref ]; } => "" DB<113> \%hash => { "ARRAY(0xa547e40)" => [9, 8, 7], "ARRAY(0xa5c2e68)" => [6, 5, 4], "ARRAY(0xa5c3188)" => [3, 2, 1], } DB<114> \%lookup => { "ARRAY(0xa547e40)" => [7, 8, 9], "ARRAY(0xa5c2e68)" => [4, 5, 6], "ARRAY(0xa5c3188)" => [1, 2, 3], } DB<115> print "@{$lookup{$_}}\n" for keys %hash 7 8 9 4 5 6 1 2 3
Hiding all of this behind a tied hash should be feasible, (depending on implementation details of Tie::Hash , IAW when, where and how "stringization" happens )
Anyway I didn't try to find such implementations on CPAN.
One use case could be to implement sets of complex data structures including set operations
Cheers Rolf
( addicted to the Perl Programming Language)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Allocation of anonymous arrays
by AnomalousMonk (Archbishop) on Feb 08, 2014 at 16:07 UTC | |
by LanX (Saint) on Feb 08, 2014 at 16:19 UTC |