$ cat spw1081756tool.pl #!/usr/bin/perl # use strict; use warnings; use 5.014; say qq{$0 \@ARGV ->@ARGV<-}; $ #### use strict; use warnings; use 5.014; sub groupsOf (&$@); open my $hostsFH, q{<}, \ <; close $hostsFH or die $!; sub groupsOf (&$@) { my $rcToRun = shift; my $groupsOf = shift; my $rcDoIt; $rcDoIt = sub { return $rcToRun->( map shift, 1 .. do { my $elems = scalar( @_ ); $groupsOf < $elems ? $groupsOf : $elems } ), @_ ? &$rcDoIt : (); }; return &$rcDoIt; } #### ./spw1081756tool.pl @ARGV ->host1 host2 host3 host4 host5<- ./spw1081756tool.pl @ARGV ->host6 host7 host8 host9 host10<- ./spw1081756tool.pl @ARGV ->host11 host12<-