When I run the following script:
my @arr = [1..5000000]; for($i=0; $i<5000000; $i++) { $arr[$i] = $i; if($i % 1000000 == 0) {
If you are dealing with such large arrays, you might want to use a toolkit like the PDL.
(Oh, and yes, you are correct: It takes so much memory because it is an array of Perl scalars.)