join ', ', @a #### my $string = join ', ', @a[$[..$#a-1]; $string .= ", and $a[-1]"; # or in one line my $str = join ', ', @a[$[..$#a-1], "and $a[-1]"; #### my $str = @a > 1 ? join ', ', @a[$[..$#a-1], "and $a[-1]" : $a[0];