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 に答える