my $memory_data = 'foo=bar;zub=baz;yar=grr'; my %data; $data{$1} = $2 while $memory_data =~ /([^=;]+)=([^;]+)/g;