#! perl -sw use strict; sub npAndAList{$"=', '; return unless @_; @_==1 and "@_" or "@_[0 .. $#_-1] and $_[-1]" } print npAndAList(qw(a b c d e)[0..$_]),$/ for -1..4; __DATA__ a a and b a, b and c a, b, c and d a, b, c, d and e