我想在perl中可以从散列中获取数组引用或将ref散列转换为ref数组!
例如 :
%trad = ('January','Jan','February','Feb');
$ref = \%trad; # made a reference on hash
$ref2 = [%{$ref}]; # convert ref hash to ref array
Run Code Online (Sandbox Code Playgroud)
以其他方式我们可以写:
$ref2 = [%{\%trad}];
Run Code Online (Sandbox Code Playgroud)
但是这段代码是散列上的ref数组的错觉,因为contruction $ ref = [...]创建了一个对通过Perl复制哈希元素而创建的匿名数组的引用.
您可以通过尝试填充$ ref2指向的数组来查看,这对哈希没有影响!
有没有办法直接在内存区域直接操作哈希,使用真正的引用数组,如C中的cast方法!