in reply to RE: Re: Multiple identical keys in a hash.
in thread Multiple identical keys in a hash.

If the machines have different names (assuming a normal network :o)), don't you just need to do this? (continued from ZZamboni's code)
foreach $f (@files) { open FILE, $f or die "Error: $!"; while(<FILE>) { chomp; my ($k,$v)=split("=",$_,2); # Assume dn= comes before other lines if ($k eq "dn") { push(@machines,$k); $machine = $k; } else { push(@{$machine}{$k},$v); } } close FILE; }
In this case you would end up with almost the same effect:
@machines = ('machinename','machinename2'); ${'machinename'}{'config'} = 2000; ${'machinename'}{'speed'} = 19600; ${'machinename'}{'setting'} = value1, value2, value3; ${'machinename2'}{'config'} = 2020; ${'machinename2'}{'speed'} = 19600; ${'machinename2'}{'setting'} = value1, value2, value3; etc...
Points being:
1. do you have to name a hash?
2. is it better to have @machines?

I'm starting to wonder about this too...