#! perl -slw use strict; our $SIZE ||= 10_000_000; sub allocBig { local $/; open my $memFile, '>', \$_[ 0 ] or die $!; seek $memFile, $_[ 1 ], 0; print $memFile chr(0); return; } printf 'Check '; ; my $bigScalar; allocBig $bigScalar, $SIZE; print length $bigScalar; printf 'Check '; ; __END__ P:\test>414880 Check 1660/528k 10000002 Check 1888/10376k P:\test>414880 -SIZE=200000000 Check 1664/528k 200000002 Check 1892/196104k