sub concat { my @s = @_ ; # strings my $max = $#s ; # last index # add extra tab to short strings except last one for my $n (0..$max-1){ $s[$n] .= "\t" if (length($s[$n]) < 8); } return join "\t",@s; # sub returns last expression # evaluated so this works too # join "\t",@s; }