This question makes me thing the following: 70MB is pretty small. There should be plenty of RAM for that on a decent system. Using File::Slurp and then splitting may be faster. However, I'm not sure. It depends on what perl does in that (<THINGY>) loop. Has anyone done a benchmark like this?