Une petite explication sur mon post precedent:
Le premier map, transforme une ligne en un array (anonyme) de 5 elements, le premier étant la ligne, et les 4 suivants, les 4 parties de la ligne découpée. Ca sert a separer les champs a trier pour y acceder tout en gardant la ligne.
On a alors un tableau de tableaux a 5 elts, ie les elements du tableaux sont des references sur des tableaux (anonymes) a 5 elts.
On trie ce tableau de tableaux en fonction des champs:
$a->[1] cmp $b->[1] tri alphabétique. Si le premier champ des deux elements (donc ici le 2e element, d'indice 1, des deux tableaux a 5 elements comparés) sont distincts, on ne va pas plus loin, mais si ils sont égaux, $a->[1] cmp $b->[1] vaut 0, et on va donc evaluer le or..., et comparer sur le 2e champ.
On est alors maintenant avec un tableau trié de tableaux a 5 elements.
Le dernier map recupere la premier element de chaque tableau a 5 element, qui est donc la ligne figurant dans le tableau initial.
J'ai adapté a partir d'un exemple de Randall Schwartz himself
A+,
Message édité par gilou le 16-04-2008 à 21:24:34
---------------
There's more than what can be linked! -- Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- No jab ? No job ! -- (╯°□°)╯︵ ┻━┻