< 174
説明が間抜けでスマソ 再度朝鮮。
@dat = ();
foreach $count (0..1000000) { $dat[$count] = $count; }
と、
$count = 0;
@dat = ();
while($count < 1000000){ $dat[$count] = $count++; }

前者では、配列が 32bits整数 * 約1MB = 4MB となるのでその分のメモリを使用しているということをモニタで納得できたのですが、
後者の方では、2 倍の 8MB 程使用しているようなのです。
この場合なぜ後者は 2 倍のメモリを使用するのでしょうか?
環境はVineLinux2.6(kernel 2.4.20-0vl29.1)
Perl 5.6.1 です。