#!/usr/bin/perl use warnings; use strict; use feature qw{ say }; my @array= qw( a b c d e f g h i ); my $size = 2; my $i = 1; while (@array) { open my $out, '>', "$i.txt" or die $!; say {$out} $_ for splice @array, 0, $size; ++$i; } say $i - 1, ' files created.';