Bonjour à tous, j'ai un petit problème !!!
Je suis en train de parser un gros fichier texte.
Le texte est de la forme
/tag
log:...
log:....
log:...
/tag
log:...
log:....
/tag
log:...
log:...
J'ai donc tout d'abord coupé le fichier en blocs à l'aide d'une boucle, nommés $text_bloc[$i] commençant tous par le /tag. Ceci ne m'a pas posé de problème.
Mon problème est le suivant:
Dans chaque bloc de texte, je souhaite rechercher ce qui est écrit après chaque ligne commençant par log.
Sur chaque bloc, je fais donc une regexp en recherchant le motif log et en mémorisant ce qui est contenu après jusqu'au saut de ligne.
Le problème est que je dois affecter ce que je récupère à une variable dans le but de la réutiliser plus tard.
Pour le moment j'ai écrit quelque chose comme ceci:
my $motif = 'log';
my $count =()=$text_bloc[$i]=~ m{$motif}g;
Ceci me permet de récupérer le nombre d'occurence du tag log dans chaque bloc.
J'ai pensé à déclarer une nouvelle boucle de type
(k=0; k<=$count; k++)
dans le but d'affecter à une nouvelle variable, par exemple $recover_text[$k] le contenu de l'occurence k du motif dans le bloc de texte original.
Mais comment faire comprendre au script qu'à chaque tour de la boucle k, il faut passer à l'occurence suivante ?
J'espère que ca semblera assez clair, moi-meme je m'y perds un peu, je remercies d'avance toutes les personnes qui pourront m'éclairer.
Partager