Problème de déréférencement
Bonjour
J'ai créé une classe Mutuelle avec accesseur et modificateur (ci-dessous)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
package Mutuelle;
#constructeur
sub new {
my $this={};
bless ($this);
return $this;
}
#accesseur
sub getIdMutuelle{
my $this=shift;
return $this->{IdMutuelle};
}
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
sub getNomMutuelle{
my $this=shift;
return $this->{NomMutuelle};
}
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
sub getAdresseMutuelle{
my $this=shift;
return $this->{AdresseMutuelle};
}
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
sub getCodePostalMutuelle{
my $this=shift;
return $this->{CodePostalMutuelle};
}
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
sub getVilleMutuelle{
my $this=shift;
return $this->{VilleMutuelle};
}
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
sub getTelMutuelle{
my $this=shift;
return $this->{TelMutuelle};
}
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
sub getFaxMutuelle{
my $this=shift;
return $this->{FaxMutuelle};
}
#modificateur
sub setIdMutuelle{
my $this=shift;
$this->{IdMutuelle}=shift;
}
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
sub setNomMutuelle{
my $this=shift;
$this->{NomMutuelle}=shift;
}
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
sub setAdresseMutuelle{
my $this=shift;
$this->{AdresseMutuelle}=shift;
}
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
sub setCodePostalMutuelle{
my $this=shift;
$this->{CodePostalMutuelle}=shift;
}
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
sub setVilleMutuelle{
my $this=shift;
$this->{VilleMutuelle}=shift;
}
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
sub setTelMutuelle{
my $this=shift;
$this->{TelMutuelle}=shift;
}
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
sub setFaxMutuelle{
my $this=shift;
$this->{FaxMutuelle}=shift;
}
#methode ajouter
sub ajouter{
my($obj) = @_;
my $this = {"obj" => $obj};
print %{$this->{"obj"}};
}
#methode supprimer
sub supprimer{
}
#methode modifier
sub modifier{
}
1; |
et voici mon "lanceur"
Code:
1 2 3 4 5 6 7 8
|
use Mutuelle;
my $objet = Mutuelle->new();
#$objet->setNomMutuelle("Mutuelle1");
$objet->setVilleMutuelle("Saint nazaire");
#$essai = $objet->getNomMutuelle();
$essai = $objet->getVilleMutuelle();
$objet->ajouter($essai); |
et quand je passe $essai
et que je veux le récupérer dans ma fonction ajouter()
Code:
1 2 3 4 5
|
sub ajouter{
my($obj) = @_;
print %{$obj};
} |
quand je déférence avec le %{$obj}
il me sort bien Mutuelle1 mé il me met devant le nom de ma variable du get
exemple ici il m'affiche NomMutuelleMutuelle1
Pourquoi ? je vois par pourquoi il ne m'affiche pas que Mutuelle1
Merci de vos réponses