存储两个相关Hash Keys for Single值的最佳方法

时间:2013-10-25 23:30:37

标签: performance perl memory hash

我有一个单一值的两个键,例如

( Foo, baa ) -> integer

我必须使用散列进行查找,因为它是一个大数据问题。

是将数据存储在哈希中的唯一方法,如

Foo -> integer
Baa -> integer 

此外,两个密钥之间的关系和值不应该丢失。获取或设置相关的整数值(对于Foo和Baa)

1 个答案:

答案 0 :(得分:8)

use Data::Alias qw( alias );

my %h = ( Foo => 123 );
alias $h{Baa} = $h{Foo};

$h{Baa} = 456; say $h{Foo};
$h{Foo} = 789; say $h{Baa};

但是存储参考文件并不那么神奇。

my $s = 123;
my %h = ( Foo => \$s );
$h{Baa} = $h{Foo};

${ $h{Baa} } = 456; say ${ $h{Foo} };
${ $h{Foo} } = 789; say ${ $h{Baa} };