# parses text like: # name = japhy age = "22" lang = 'Perl' # into a hash... but it retains those pesky quotes :/ my %data = $text =~ m{ ([^=\s]+) \s* = \s* ( ' [^']* ' | " [^"]* " | \S+ ) }xg;