use File::Slurp; my $out=''; while(<>) { $out .= "1:$_"; } $out .= "end1\n"; write_file("out1.txt", $out); $out=''; while(<>) { $out .= "2:$_"; } $out .= "end2\n"; write_file("out2.txt", $out);