Accueil > Ressources > Perl 5 > Affichage d’un tableau associatif bi-dimensionnel

Programme Perl

Affichage d’un tableau associatif bi-dimensionnel

Afficher le noms des lignes et des colonnes.

lundi 11 janvier 2010, par AMRI, MEYRONNEINC

Les lignes de programme ci-joint représentent deux fonctions. Celles-ci servent à afficher le nom des lignes et le nom des colonnes de la matrice d’un matrice stockée sous forme d’un tableau bi-dimensionnel.

Une fonction est déclaré par un "SUB"

Le programme "square_mat.pl" est composé lui-même de trois fonction qui sont :

- "read_rel" qui lit le contenu d’un fichier csv puis construit la structure des données(arbre), et renvoie un pointeur sur cette structure ;

- "print_rel" prend en 1er paramètre l’adresse de la structure des données et prend le nom du fichier de sortie et imprime le contenu de la structure sur trois colonnes

- "square_rel" prend en 1er paramètre l’adresse de la structure des données et remplace son contenu par le carré de la matrice représentée

les fonctions que nous avons écrite se nomment "lines", pour le nom des lignes et "fields" pour le nom des colonnes .

La fonction lines :

Cette fonction est assez courte puisqu’il suffit de récupérer l’adresse de la structure de données puis de renvoyer les clefs triées, ce qui nous donne de nom des lignes.

La fonction fields :

cette fonction est plus complexe, il faut procéder par étape.

- d’abord on récupère un pointeur [1] et on crée un tableau associatif
- ensuite on récupère les clefs du premier niveau associatif (lignes) et l’adresse du sous-tableau associatif qui représente la ligne.
- enfin on récupère les clefs du deuxième niveau (C’est à dire du sous tableau associatif ) et on insère les valeurs (le nom des colonnes) dans le tableau associatif que l’on a en créé au début.
- il ne reste plus qu’à renvoyer les clefs du pointeur pour avoir le nom des colonnes.


[1Un pointeur est une variable particulières qui contient un nombre entier. Ce nombre entier est en fait l’adresse, dans la mémoire de l’ordinateur, d’une autre variable qui elle pourra être de tout type et reconnue par le language.