我有一个数组如下:
@array = ('a:b','c:d','e:f:g','h:j');
如何使用 grep 和 map 将其转换为以下内容?
%hash={a=>1,b=>1,c=>1,d=>1,e=>1,f=>1,h=>1,j=>1};
我试过了:
@arr;
foreach(@array){
@a = split ':' , $_;
push @arr,@a;
}
%hash = map {$_=>1} @arr;
但我得到了所有我应该得到单个数组的前两个值的值