use strict; use warnings; my @to_merge = 1..$ARGV[0]; my $count = 0; while (@to_merge > 1) { my $qfn_in1 = shift(@to_merge); my $qfn_in2 = shift(@to_merge); push @to_merge, my $qfn_out = '...'; $count++; # open(my $fh_in1, '<', $qfn_in1) $count++; # open(my $fh_in2, '<', $qfn_in2) $count++; # open(my $fh_out, '>', $qfn_out) } print("$count\n");