OVH Cloud OVH Cloud

Problème de référence

4 réponses
Avatar
lesouriciergris
Bonjour,

je d=E9sire empiler dans un tableau une liste d'enregistrements.
J'empile donc les r=E9f=E9rences associ=E9s =E0 cet enregistrement.
Probl=E8me je n'arrive pas =E0 acc=E9der aux donn=E9es de mon
enregistrement =E0 partir du d=E9r=E9f=E9rencement ... Probl=E8me de syntaxe
apparement ...

my @listeEche;

D=E9but Boucle

$PbEchec=3D{
'Probl=E8me' =3D> $pb,
'Cause' =3D> $raison,
'Commentaire' =3D> $comm,
};

push @listeEchec, \$PbEchec;

Fin Boucle

foreach my $slr (@listeEchec) {
-> PROBLEME <-
}

4 réponses

Avatar
Nicolas George
wrote in message
:
$PbEchec={


$PbEchec est donc une référence sur un hash.

push @listeEchec, $PbEchec;


Le tableau reçoit donc une référence sur une référence sur un hash. Est-ce
voulu ?

Avatar
Le Souricier Gris
Nicolas George wrote:
wrote in message
:
$PbEchec={


$PbEchec est donc une référence sur un hash.

push @listeEchec, $PbEchec;


Le tableau reçoit donc une référence sur une référence sur un h ash. Est-ce
voulu ?


Non en effet, je voulais une simple référence sur un hash.


Avatar
Paul Gaborit
À (at) 21 Jun 2006 03:38:36 -0700,
écrivait (wrote):
je désire empiler dans un tableau une liste d'enregistrements.
J'empile donc les références associés à cet enregistrement.
Problème je n'arrive pas à accéder aux données de mon
enregistrement à partir du déréférencement ... Problème de syntaxe
apparement ...

my @listeEche;

Début Boucle

$PbEchec={
'Problème' => $pb,
'Cause' => $raison,
'Commentaire' => $comm,
};

push @listeEchec, $PbEchec;

Fin Boucle

foreach my $slr (@listeEchec) {
-> PROBLEME <-
}



$PbEchec = {
'Problème' => $pb,
'Cause' => $raison,
'Commentaire' => $comm,
};

push @listeEchec, $PbEchec; # $PbEchec est déjà une référence...

foreach my $slr (@listeEchec) {
foreach my $f (qw/Problème Cause Commentaire/) {
print "$f: $slr->{$f}n";
}
}

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>

Avatar
Le Souricier Gris

À (at) 21 Jun 2006 03:38:36 -0700,
écrivait (wrote):
je désire empiler dans un tableau une liste d'enregistrements.
J'empile donc les références associés à cet enregistrement.
Problème je n'arrive pas à accéder aux données de mon
enregistrement à partir du déréférencement ... Problème de sy ntaxe
apparement ...

my @listeEche;

Début Boucle

$PbEchec={
'Problème' => $pb,
'Cause' => $raison,
'Commentaire' => $comm,
};

push @listeEchec, $PbEchec;

Fin Boucle

foreach my $slr (@listeEchec) {
-> PROBLEME <-
}



$PbEchec = {
'Problème' => $pb,
'Cause' => $raison,
'Commentaire' => $comm,
};

push @listeEchec, $PbEchec; # $PbEchec est déjà une référence...

foreach my $slr (@listeEchec) {
foreach my $f (qw/Problème Cause Commentaire/) {
print "$f: $slr->{$f}n";
}
}

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>


Tout fonctionne très bien grace à vous. Merci