请考虑以下代码段:
use strict;
use warnings;
my %a = ( a => 1,
b => 2,
c => 'cucu',
d => undef,
r => 1,
br => 2,
cr => 'cucu',
dr => '321312321',
);
my $c = %a;
print $c;
Run Code Online (Sandbox Code Playgroud)
结果是5/8
,我不明白这代表什么.我在某个地方读到这个分数查看结果中的数字可能代表哈希中的桶数,但显然不是这种情况.
有谁知道如何在标量上下文中评估perl哈希值?
编辑
我添加了一些其他哈希打印:
use strict;
use warnings;
use 5.010;
my %a = ( a => 1,
b => 2,
c => 'cucu',
d => undef,
r => 1,
br => 2,
cr => 'cucu',
dr …
Run Code Online (Sandbox Code Playgroud) 是否可以以具有O(log(n))
查找和插入的方式使用Perl哈希?
默认情况下,我假设查找是O(n)
因为它由未排序的列表表示.
我知道我可以创建一个数据结构来满足这个要求(即树等)但是,如果它是内置的并且可以用作普通哈希(即,使用%)它会更好
我有一个Perl脚本的问题,但不知道为什么.我有类似的东西
..
$ref = pfget($Pf, "criteria");
%criteria= %$ref;
..
..
foreach $key (keys %criteria) {
$expr = %criteria->{$key};
..
}
Run Code Online (Sandbox Code Playgroud)
该行$expr = %criteria->{$key}
给了我一个错误
Using a hash as a reference is deprecated
Run Code Online (Sandbox Code Playgroud)
我试过$expr = $criteria{$key}
但脚本不能正常工作.
你知道我哪里错了吗?