Something like:
@inputs = (
"name: mike jones location: ny",
'name: "mike jones" location: ny',
"name: jones location: ny"
);;
$re = qr[ (?: (\S+): \s* ) ["']? (.+?) ["']? (?=\s+\S+:|$) ]x;;
%h = m[$re]g and pp $_, \%h for @inputs;;
("name: mike jones location: ny", { location => "ny", name => "mike jo
+nes" })
("name: \"mike jones\" location: ny", { location => "ny", name => "mik
+e jones" })
("name: jones location: ny", { location => "ny", name => "jones" })
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.