my $string = " ... "; my (@array_2, %hash_1); foreach ( split ',' => $string ) { my ($left, $right) = split ':'; push @array_2, $left; $hash_1{$left} = $right; }