# we have @files my $number_of_files = scalar(@files); my $number_of_groups = 10; my @groups; for (1..$number_of_files) { my $modvalue = $number_of_groups % $_; push @{$groups[$modvalue]},$files[$_ - 1]); }