foreach my $mem (split /;/, $memory_data) { my($name,$value) = split /=/, $mem, 2; $data{$name} = $value; }