$ perl -le' $x = qq[jfjsa as,.n d"fdsafjl"jop\047fdsjklf fds\047457"fjdsklaoir"jkl45;fs ier987543" fsdjkal"]; print $x; @x = $x =~ /"[^"]*"|\047[^\047]*\047|[^"\047]*/g; print for @x; ' jfjsa as,.n d"fdsafjl"jop'fdsjklf fds'457"fjdsklaoir"jkl45;fs ier987543" fsdjkal" jfjsa as,.n d "fdsafjl" jop 'fdsjklf fds' 457 "fjdsklaoir" jkl45;fs ier987543 " fsdjkal"