[Toulouse-pm] hash or array ?

Jérôme Augé eguaj at free.fr
Fri Feb 6 13:40:30 CST 2004


On Thu, Feb 05, 2004 at 01:51:39PM +0100, Benoit Fleury wrote:
> Bonjour,
> je ne sais pas si c'est le lieu pour ce genre de questions mais je ne
> sais pas à qui m'adresser :)
> Débutant en PERL, je lis et écris quelques scripts pour mon
> apprentissage.  Je me suis souvent posé la question suivante : dois-je
> preferer un hash ou un tableau pour mes structures de donnees ?
> mes éléments de réponse :
> * hash : plus lisible au niveau du code, moins rapide ?
> * array : moins lisible, plus rapide ?
> Donc :
> La question a-t-elle lieu de se poser ? (deja :) )
> Si oui, comment faire un choix ?
> 

Ça dépend surtout de ce que tu cherches à représenter/manipuler avec ta
structure.

Si tu veux faire une structure qui se comporte comme une pile, alors tu
prendrais une liste que tu pourras facilement manipuler avec pop(),
push(), splice() etc.
Maintenant si c'est une structure pour « rechercher » des éléments, tu
préféreras un hash avec lequel tu pourras accéder aux éléments par une
chaîne de caractère et pas seulement un entier.

Il n'y a pas de choix bien définis dans ce domaine, et on ne se limite
pas à utiliser exclusivement un seul type. On utilise souvent les deux
pour faire des listes de hashs ou des hashs de listes par exemple, et
ceci jusqu'à plusieurs niveaux d'imbrications (hashs contenant des
listes qui elles même contiennent des hashs etc.)

C'est à toi à tirer parti des spécificités de chacun de ces types pour
te faciliter la manipulation de ta structure et l'accès aux données.

(voir `perldoc perldsc' et `perldoc perllol')

-- 
<ESC>:r $HOME/.signature<CR>



More information about the Toulouse-pm mailing list