in reply to Split into array in a somewhat unconventional manner

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"jkl4 +5;fs ier987543" fsdjkal"}; my @extracted = extract_multiple($text, [ gen_delimited_pat(q{'"}), ]); print "$_\n" for @extracted;
jfjsa as,.n d "fdsafjl" jop 'fdsjklf fds' 457 "fjdsklaoir" jkl45;fs ier987543 " fsdjkal"

Text::Balanced

Update: The difference between mine and OGB's is that mine allows escaped delimiters such as 'foo\'s room' and mine doesn't strip the delimiters as per your requested output.