如何计算哈希元素哈希值之间的角度

Man*_*kus 0 perl hash

我有关于散列可达性散列的问题,我无法克服,除了使用for和while循环遍历所有元素.哈希散列在这个结构中:

$atomsArray{$number} = {
      "x" => $x, 
      "y" => $y,
      "z" => $z
};

for my $number(sort keys %atomsArray){
   while ((my $key, my $value) = each(%{$atomsArray{$number}})){
       #Counting angles between atoms(x,y,z)
   }
Run Code Online (Sandbox Code Playgroud)

还有比这更好的方法吗?

Zai*_*aid 5

使用哈希切片是一种选择:

my ( $x, $y, $z ) = @{ $atomsArray{$number} }{ qw(x y z) };
Run Code Online (Sandbox Code Playgroud)