[Perl] multi hash
Patrick Dupre
pdupre at gmx.com
Jeu 1 Nov 09:30:10 CET 2018
Ma solution
sub multi_HoH_size {
my ($hoh, $nb) = @_ ;
return 0 if ((!keys %$hoh) || !defined ($hoh)) ;
$$nb++ ;
my $flag = 0 ;
my $key ;
foreach (keys %$hoh) {
$flag = 1 if (ref ($$hoh {$_}) eq "HASH") ;
$key = $_ ;
last ;
}
multi_HoH_size ($$hoh {$key}, $nb) if ($flag) ;
}
Il y a surement mieux !
===========================================================================
Patrick DUPRÉ | | email: pdupre at gmx.com
Laboratoire de Physico-Chimie de l'Atmosphère | |
Université du Littoral-Côte d'Opale | |
Tel. (33)-(0)3 28 23 76 12 | | Fax: 03 28 65 82 44
189A, avenue Maurice Schumann | | 59140 Dunkerque, France
===========================================================================
> Sent: Thursday, November 01, 2018 at 3:38 PM
> From: "Sylvain Lhullier" <sylvain at lhullier.org>
> To: "Liste francophone pour les questions générales sur Perl" <perl at mongueurs.net>
> Subject: Re: [Perl] multi hash
>
> Patrick Dupre a écrit :
> > [...]
> > Mais, il y a quelque chose que je ne comprends pas dans ce que j'ai ecris.
> > Pourqoui $nb n'ai pas passe dans l'appel ?
> > sub multi {
> > my ($hoh, $nb) = @_ ;
> > [...]
> > multi (%{$hoh {$i}}, $nb) ;
> > }
>
> Je pense que dans cet appel récursif, tu passes en paramètre une hash "applatie"
> et non une ref sur la hash. Plutôt écrire ce qui suit ?:
> multi ($hoh{$i}, $nb) ;
> sans le %
>
> Librement,
>
> --
> Sylvain Lhullier
> Formation Perl http://formation-perl.fr/
> Président des Mongueurs de Perl http://mongueurs.net/
> _______________________________________________
> Perl mailing list
> Perl at mongueurs.net
> http://listes.mongueurs.net/mailman/listinfo/perl
> Attention, les archives sont publiques
>
Plus d'informations sur la liste de diffusion Perl