Le langage Perl le tableau associatif
Le tableau associatif est une structure de données dans laquelle chaque indice est identifié par un nom (on parle de clef). • La variable de type hash est préfixée par le caractère ’%’. • les éléments à inclure sont entre parenthèses. +++ • Elle pourra contenir des chaînes de caractères, des numériques ou des adresses mémoire. • l’accès à un élément du hash se fait en préfixant le hash avec le caractère “$”.
%codon2AA = ( TTT => F, TTC => F, TTA => L, TTG => L );
print $codon2AA{’TTT’},$codon2AA{’TTA’},$codon2AA{’TTG’};
Variables Les tableaux associatifs (hash).
• On pourra aussi générer un hash vide et créer des clefs à la volé. • Les valeurs associées aux clefs peuvent être incrémentées via les opérateurs classiques d’incrémentation et de décrémentation. • On pourra avoir accès aux noms des clefs avec la fonction keys.
%countAA = (); $countAA{’Gly’} = 10; $countAA{’Ala’}++; $countAA{’Gly’}–; @AA = keys(%countAA); print $AA[0], » « , $countAA{$AA[0]}, » « , $AA[1], » « , $countAA{$AA[1]};
Variables Tableaux à deux dimensions
• On pourra créer des tableaux à 2 dimensions avec la syntaxe suivante:
@matrice = ([0,2,3],[4,5,6],[6,7,8]); print $matrice[0][2], « \n »;
Variables Les références
• Une référence, en Perl, peut être considérée comme le pointeur du langage C.
• C’est une variable qui contient une adresse mémoire.
• On peut créer un référence à un variable existante en utilisant l’opérateur ’\.’
#Référence vers un scalaire $GeneSymbol = ’Bcl2’; $pGeneSymbol = \$GeneSymbol; print « La variable GeneSymbol contient « , $GeneSymbol, « \n »; print « La variable pGeneSymbol contient « , $pGeneSymbol, « \n »;
#Référence vers un tableau @Domain = (’BH1’,’BH2’,’BH3’); $pDomain = \@Domain; print « La variable Domain contient « , @Domain, « \n »; print « La variable pDomain contient « , $pDomain, « \n »;
#Référence vers un hash %Motif = (AAATTCCT => 2,AATTGGC => 3, AATTGC => 4); $pMotif = \%Motif; print « La variable Motif contient « , %Motif, « \n »; print « La variable pMotif contient « , $pMotif, « \n »;
La variable GeneSymbol contient Bcl2 La variable pGeneSymbol contient SCALAR(0x817b994) La variable Domain contient BH1BH2BH3 La variable pDomain contient ARRAY(0x817ba0c) La variable Motif contient AATTGC4AATTGGC3AAATTCCT2 La variable pMotif contient HASH(0x817bde4