use Text::ParseWords; my @lines = do { open FH, $filename; }; foreach my $line (@lines) { my @parsed_out = quotewords(',', undef, $line); # Do stuff here } --------------- use Text::CSV; my $parser = Text::CSV->new; my @lines = do { open FH, $filename; }; foreach my $line (@lines) { $parser->parse( $line ); my @parsed_out = $parser->fields; # Do stuff here } --------------- use Text::xSV; my $parser = Text::xSV->new; $parser->open_file( $filename ); while (my $parsed_out = $parser->get_row) { # Do stuff here }