Hi. My trouble is with a value duplicated value on a nested foreach, these are
my variables:
%names=(
1=>'NA'
2=>'NCW'
3=>'NE'
4=>'S'
5=>'SE'
6=>'SP'
);
%hash{'2005-09-19'}{'1'}{'56'}=788;
%hash{'2005-09-19'}{'1'}{'43'}=540;
%hash{'2005-09-19'}{'6'}{'23'}=321;
%hash{'2005-09-19'}{'3'}{'10'}=975;
And I want an output like this:
2005-09-19 - NA - 56 - 788
2005-09-19 - NA - 43 - 540
2005-09-19 - NCW - 0 - 0
2005-09-19 - NE - 10 - 975
2005-09-19 - S - 0 - 0
2005-09-19 - SE - 0 - 0
2005-09-19 - SP - 23 - 321
I do it by this way:
my %final;
my $match = 0;
foreach my $date(sort keys %hash) {
foreach my $num_name(sort {$a <=> $b}(keys %{$hash{$date}}) ) {
foreach my $names(sort {$a <=> $b}(keys %names) ) {
if ($num_name == $names) {
$match = 1;
foreach my $values(sort {$a <=> $b}(keys %{$hash{$date}{$num_state}}) )
{
$final{$date}{$names{$names}}{$values}=$hash{$date}{$num_state}{$values};
} #end values
} #end if
else {$match = 0;}
}end names
if ($match == 0){
$final{$date}{$names{$names}}{0}=0;
}#end if
}end num_name
}end date
However this is what I get:
2005-09-19 - NA - 0 - 0 <----- Repeated value :(
2005-09-19 - NA - 56 - 788
2005-09-19 - NA - 43 - 540
2005-09-19 - NCW - 0 - 0
2005-09-19 - NE - 10 - 975
2005-09-19 - S - 0 - 0
2005-09-19 - SE - 0 - 0
2005-09-19 - SP - 23 - 321
I hope someone help me please.
Regards and thanks !!!.
--
_______________________________________________
Get your free email from http://mymail.bsdmail.com
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>