以下代码应将文本文件加载到哈希中:
my %hash;
while (chomp(my $key = <DATA>)) {
chomp(my $val = <DATA>);
$hash{$key} = $val;
}
Run Code Online (Sandbox Code Playgroud)
散列条目的内存开销将取决于体系结构(32对64位),但对于散列本身应该是几百个字节的顺序,然后每个键和值大约30-60个字节,加上开销键和值数据类型.您可以Devel::Size自己检查一下.还读这个.
因此,在您的示例中,在64位平台上,一百万个条目应该大致花费:
136为哈希
58 + 15 + 58 + 50 == 181每个键/值对x 1,000,000
您指定的一百万个条目的条目为181MB.