Perl:创建哈希时程序崩溃

时间:2013-10-31 15:04:14

标签: perl hash crash

作为前面提到的问题的后续跟进,我创建了一个哈希,其中包含用户指定范围之间的键,以及指定的增量大小($ binsize)。创建此哈希的代码似乎是正确的:

my %hash;
for (my $increm = $lowerbound; $increm <= $upperbound; ++$binsize) {

        $hash{$increm} = 0;

}

使用默认变量值:

$lowerbound = 1000
$upperbound = 1500
$binsize = 1

但是当我使用:

打印哈希的键时
print "$_\n" for keys %hash;

程序不执行操作和崩溃。有没有人有任何想法?

提前谢谢!

编辑:目标是最终将完成的哈希变成CSV,所以如果我在这个阶段无法查看哈希,我该如何检查密钥是否填充正确?

问题现在固定:

变化:

for (my $increm = $lowerbound; $increm <= $upperbound; ++$binsize) {

为:

for (my $increm = $lowerbound; $increm <= $upperbound; $increm+=$binsize) {

似乎解决了问题

谢谢!

1 个答案:

答案 0 :(得分:3)

for (my $increm = $lowerbound; $increm <= $upperbound; ++$binsize) {

$increm不会更改值,因此for循环无穷无尽

也许你想要这个:

for (my $increm = $lowerbound; $increm <= $upperbound; $increm++) {

修改

如果您想将$increm的值增加$binsize

foreach (my $increm = $lowerbound; $increm <= $upperbound; $increm += $binsize) {