> *** malloc: vm_allocate(size=8421376) failed (error > code=3) > *** malloc[5576]: error: Can't allocate region > Out of memory! > > The strange thing is that I'm not slurping up the > whole file,
Oh but you are... > I'm reading it line by line. But Perl > seems to be slurping the whole thing into memory > before even processing the first line. But even so, > foreach my $line (<FILE1>) { This reads in the whole file first because the (...) of for each enforces list context, and the <FH> in list context does read in the whole handle. You meant while (my $line = <FILE1>) { my $line = $_; or something similar.