passer un tableau en parametre dans un sub? - Perl - Programmation
Marsh Posté le 13-11-2006 à 15:47:42
il faut que tu passes une référence sur ta hash! 
| Code : 
 | 
 
Attention quand tu as une reference sur un hash tu accèdes a tes élements différement: 
| Code : 
 | 
 
edit: c#n de forum qui bouffe les slashs 
Marsh Posté le 13-11-2006 à 15:56:55
et dans ma fonction sub 
je declare comment mon hash ??? 
 
comment je lui dit que je vais le passer en parametre ? 
pour var1 j'utilise shift et pour mon hash ?
Marsh Posté le 13-11-2006 à 16:06:05
bin var1 c'est le premier paramètre que tu passes à ta fonction en l'occurence une référence sur ta hash ![[:w3c compliant] [:w3c compliant]](https://forum-images.hardware.fr/images/perso/w3c compliant.gif) 
 
C'est bien pour ça qu'ensuite je t'ai donné les deux lignes qui expliquent comment se servir d'une ref. 
 
Bon aller un exemple qui ajoute 4 à toutes les valeurs d'une hash: 
| Code : 
 | 
 
edit: grrr de \
Marsh Posté le 13-11-2006 à 16:16:33
ok 
j'ai fait la meme chose 
 
mais il bloque à cette ligne, il me dit que j'ai une erreur de synthaxe 
| Citation :  if ( exists %$monhash{$nom} ) { | 
Marsh Posté le 13-11-2006 à 16:26:48
je te conseille de (re)lire mon premier post où je t'explique comment acceder à un element d'une reference de hash.
Marsh Posté le 14-11-2006 à 00:29:18
donny3, ta syntaxe marche aussi mais faut des parentheses autour de %$monhash. Mais bon la bonne facon de faire c'est $monhash->{$nom} comme anapajari a dit.
Marsh Posté le 14-11-2006 à 10:02:26
| matafan a écrit : donny3, ta syntaxe marche aussi mais faut des parentheses autour de %$monhash. Mais bon la bonne facon de faire c'est $monhash->{$nom} comme anapajari a dit. | 
 
Euhh nan hein ( enfin j'ai jamais vu, ptêt que je me trompe mais j'y crois pas trop). 
%$ c'est pour déréférencer ta hash entière, tu peux pas accèder à un element comme ça même en rajoutant des parenthèses. 
La syntaxe qui se rapproche le plus de ce que tu dis ça serait: 
| Code : 
 | 
 
Mais perso je la trouve particulierement incompréhensible.
Marsh Posté le 13-11-2006 à 15:22:11
salut,
J'aurai savoir si quelqu'un serait comment faire pour passer un tableau hash en parametre dans une sub routine ??
j'ai essayer : %tab = @_ mais se ne fonctionne pas.
ex :
sub test {
var1 = shift;
ici je veux appeler un tableau hash
...
}
Merci.