Thanks for your interest. But I am not able to understand what is the meaning of this undef?
undef %map
I thought that should clear off all the memory!
I tried to push the map inside the while loop, so that the scope itself takes care of things. But, the code still runs out of memory..
while(sysread(CSV, $record, 66)) {
my $count = 0;
my %map;
$map{substr($record, 18, 14)}->{substr($record, 3, 15)} = subs
+tr($record, 36, 29);
while (sysread(CSV, $record, 66)) {
$map{substr($record, 18, 14)}->{substr($record, 3, 15)
+} = substr($record, 36, 29);
if ($count++ > 1000) {
$count = 0;
last;
}
}
&process(\%map);
}