in reply to Parsing Challenge

I'm partial to these methods:
my %hash = split /=|\b(?=\S+=)/, $data; $hash{$_} = [ split / /, $hash{$_} ] for keys %hash;
or
my %hash; $hash{$1} = [split / /, $2] while $data =~ /(\S+)=(.*?)(?=\S+=|$)/g;
or to support repeated keys:
my %hash; push @{$hash{$1}}, split / /, $2 while $data =~ /(\S+)=(.*?)(?=\S+=| +$)/g;
   MeowChow                                   
               s aamecha.s a..a\u$&owag.print