#!/usr/bin/perl -w use strict; use warnings; open(my $fh, '<', '/tmp/list') or die "Unable to open file, $!"; my @entire_file=<$fh>; for my $i (0..$#entire_file) { my @group; push @group,$entire_file[$i] until ( $i % 5 == 0 ); `tool.pl @group`; }