Bonjour,
Mon probleme est le suivant : j'ai crée une hash dans une sous fonction et je voudrais l'utiliser dans une autre sous fonction de mon programme principal .
L'utilisateur va
1- passer à mon programme des séquences adn ACGT (role de sub encodage())
et
2 -va choisir le code qu'il désire pour convertir ces sequences en chiffres (puis A peut etre remplacer par plusieurs valeurs différentes 0.5 ou 0.359962 ou 1 ...)
ca c le role de sub Attribution()
donc dans l'ordre il va d'abord choisir son codage désiré (n °2) puis convertir les sequences avec le codage adéquat (n°1)
Voici le schéma de mon code pour faire simple :
pour le moment dans sub Transformation je n'ai fait que ca juste pour voir si j'arrive bien à recupérer le hash que je passe en argument mais je n'y arrive pas
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
27
28 #code principal [.... # si l'utilisateur est ok on va commencer le traitement de donnée : # &Attribution() # puis &Encodage() affichage du resultats #....] fin du code principal sub Attribution { va mettre en place ma hash et va la retourner ..... return (%Tablecode) } sub Encodage { va lire les sequences puis va les passer à un autre sous programme sub Transformation qui va avoir en argument le hash lecture & Transformation(%hash)} sub Transformation { my %h = %_; my @cle = (); my $i; @cle= ("A","R","N","D","C","Q","E","G","H","I","L","K","M","F","P","S","T","W","Y","V"); foreach $i (@cle) { print ("hash($i) = $h{$i}\n"); } }
msg d'erreur :Use of uninitialized value in concatenation (.) or string at testcodage.pl
OR j'ai testé lors de la création du hash que celui était bien créé donc en l'affichant.
Donc ma question finale est : comment récuperer une hash qu'on passe en argument à une fonction
et
ma suspicion est : dans ma sous fonction Attribution : est ce que je retourne bien mon hash pour mes autres traitements juste en mettant à la fin "return (%Tablecode)" (comme ca se fait en python).
Merci !!
J'ai cherché ds la doc mais c'est surtout au niveau du passage en argument d'une hash à un sous programme que j'ai pas trouvé mon bonheur.
Partager