レシピ4.2 リストをカンマ区切りで出力する

要素が二つ以上ある場合は、最後の要素の前にandを、要素が3つ以上ある場合は、要素と要素の間にカンマを挿入したい。

sub commify_series {
  (@_ == 0) ? ''                                                              :
  (@_ == 1) ? $_[0]                                                       :
  (@_ == 2) ? join(" and", @_)                                     :
                     join(", ", @_[0..($#_-1)], "and $_[-1]");