2

作为对前面提出的问题的后续,我正在创建一个带有用户指定范围之间的键的散列,还具有指定的增量大小 ($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) {

似乎解决了这个问题

谢谢!

4

1 回答 1

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) {
于 2013-10-31T15:14:51.453 回答