Bonjour les développeurs,
Voilà, j'ai un petit soucis, certainement une étourderie, mais ça bloque l'avancée de mon programme depuis un petit moment.
J'ai créé cet objet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 sub new { my ( $classe, $nom, $deb, $fin, $long, $id, $met, $compl, $fs ) = @_; # Vérifions la classe $classe = ref($classe) || $classe or die "erreur1"; # Création de la référence anonyme d'un hachage vide (futur objet) my $this = {} or die "erreur2"; # Liaison de l'objet à la classe $this->{NOM_GENE} = $nom or die "erreur4"; $this->{DEBUT_ALIGN} = $deb or die "erreur5"; $this->{FIN_ALIGN} = $fin or die "erreur6"; $this->{LONGUEUR_ALIGN} = $long or die "erreur7"; $this->{POURCENT_IDENTITE} = $id or die "erreur8"; $this->{PRESENCE_MET} = $met or die "erreur9"; $this->{SEQ_REF_COMPLETE} = $compl or die "erreur10"; $this->{FRAMESHIFT} = $fs or die "erreur11"; print $this->{NOM_GENE} or die "erreur12"; bless( $this, $classe ) or die "erreur3"; return $this or die "erreur13"; }
Lorsque dans mon programme principal je tente de le remplir, j'utilise :
ici, $nom/$compl sont des chaines de caractères, les autres des valeurs numériques. Il se trouve que $met et $fs = 0. Or, c'est deux valeurs où lors de l'affectation, un die est retourné. J'ai essayé en changeant les valeurs ($met = 1), et là... ça marche :/.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $info_hit[$hsp_val] = InfoHit->new($nom, $deb, $fin, $long, $id, $met, $compl, $fs);
Je ne comprend pas pourquoi mon objet n'accepte pas l'affectation de valeur nulle (enfin, non, de 0)...
Merci d'avance de vous intéresser à mon soucis !
Bonne journée.
Partager