... while (@array) { my @part = splice @array, 0, $size; my @lines = map {"$_\n"} @part; my $fileName = sprintf '%s.txt', ++$file; path($fileName)->append(@lines); }