in reply to Re: Format a list with commas andin thread Format a list with commas and "and"
sub list { join(" and ", reverse grep defined && length, pop @_, join(", ", @ +_)) } [download]
Makeshifts last the longest.