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>


Reply via email to