
Envoyé par
Fluxy
Bonjour à tous,
J'aimerais savoir comment je peux réaliser ceci en perl :
J'ai dans une ligne la chaine suivante :
5013179;GIBERT PATRICIA;0;41100000;25 RES DE MONTGERMONT;;77930;SAINT SAUVEUR SUR ECOLE;CL;30002;06952;0000005793L;58
Je souhaite récupérer chaque champ entre les ; dans un tableau indexé.
Exemple :
%tab = ( num => 5013179, nom => "GIBERT PATRICIA", type => 0 etc....)
Je vous remercie & vous souhaitent une bonne journée.
Flux__
Dans un premier temps, tu peux créer un tableau de noms de champ :
@tabNoms = ('num','nom','type', ...);
Ensuite, tu explose ta chaine avec la fonction split :
@ligneExplosee = split(";", $ligne);
Il te reste enfin à générer ta table de hash :
1 2 3 4
|
for ($i=0; $i<@ligneExplosee; $i++) {
$tableHashee{$tabNoms[$i]} = $ligneExplosee[$i];
} |
Ceci n'est qu'une proposition, assez mal écrite mais je l'espère compréhensible.
Partager