use strict; use warnings; use Text::Balanced qw( gen_delimited_pat extract_multiple ); my $text = q{jfjsa as,.n d"fdsafjl"jop'fdsjklf fds'457"fjdsklaoir"jkl45;fs ier987543" fsdjkal"}; my @extracted = extract_multiple($text, [ gen_delimited_pat(q{'"}), ]); print "$_\n" for @extracted;