use Text::Balanced qw( extract_delimited ); use strict; my $line_in = q{""this"" "line" "has" "four"}; my $first_one; my $remainder; my $skipped; ($first_one, $remainder, $skipped) = extract_delimited($line_in, q{"}, '\s*', q{"}); print $first_one."\n"; print $remainder."\n";