use Text::ParseWords; my @items; while (<>) { push @items, [ quotewords(',', 0, $_) ]; }