in reply to Combinations of lists to a hash
#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11107038 use warnings; my %hash; while( <DATA> ) { my ($prefix, $glob, $value) = split /(?<==)|\s/; $hash{$_} = $value for glob $prefix . $glob =~ s/[^:]+/{$&}/gr; } use Data::Dump 'dd'; dd \%hash; __DATA__ Prefix1=A,B:c,d value1 Prefix2=A:b,c:1,2 value2
Outputs:
{ "Prefix1=A:c" => "value1", "Prefix1=A:d" => "value1", "Prefix1=B:c" => "value1", "Prefix1=B:d" => "value1", "Prefix2=A:b:1" => "value2", "Prefix2=A:b:2" => "value2", "Prefix2=A:c:1" => "value2", "Prefix2=A:c:2" => "value2", }
|
---|