On Oct 31, 2005, at 12:34, Xavier Noria wrote:
sub HoA_to_AoH {
my ($HoA) = @_;
my @keys = keys %{$HoA};
return [] if not @keys;
my @AoH = ();
my $nkeys = @keys;
my $nvals = @{$HoA->{$keys[0]}};
my $iter = indexes($nvals, $nkeys);
while (my $idxs = $iter->()) {
my %H = ();
my $i = 0;
for my $k (@keys) {
$H{$k} = $HoA->{$k}[$i];
++$i;
}
push @AoH, \%H;
}
return [EMAIL PROTECTED];
}
Sorry, there's a bug there (I forgot to use $idxs):
sub HoA_to_AoH {
my ($HoA) = @_;
my @keys = keys %{$HoA};
return [] if not @keys;
my @AoH = ();
my $nkeys = @keys;
my $nvals = @{$HoA->{$keys[0]}};
my $iter = indexes($nvals, $nkeys);
while (my $idxs = $iter->()) {
my %H = ();
my $i = 0;
for my $k (@keys) {
$H{$k} = $HoA->{$k}[$idxs->[$i]];
++$i;
}
push @AoH, \%H;
}
return [EMAIL PROTECTED];
}
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>