use File::Slurp qw( write_file ); $/ = "\$\n"; open BIGFILE, yada yada; while () { write_file(split /\n/, $_, 2); }