J'ai été en mesure d'utiliser flip-flop pour extraire le texte dans le passé où j'ai différents START & END. Cette fois, j'ai eu beaucoup de mal à essayer d'extraire du texte parce que je n'ai pas de délimiteurs différents dans mon fichier source, car START & END de la bascule sont les mêmes. Je veux que le flip-flop commence à vrai quand les êtres de ligne avec l'année aaaa & continuent à pousser $_
à un tableau jusqu'à ce qu'une autre ligne commence aaaa. Le problème avec la bascule est qu'elle sera alors fausse sur mon prochain START. L'utilisation de ce qui précède pour les données source données manquera la deuxième partie multi-ligne du fichier que je dois également faire correspondre. Peut-être que le flip-flop que je pensais être la meilleure façon d'analyser un fichier multi-lignes ne fonctionnera pas dans ce cas? Ce que je veux faire est de commencer à faire correspondre avec la première ligne commençant par la date & continuer à correspondre jusqu'à la ligne avant la ligne suivante commençant par une date.perl extrait du texte entre SAME délimiteur en utilisant flip-flop
données de l'échantillon est:
2017 message 1
Text
Text
Text
2017 message 2
more text
more text
more text
2017 message 3
yet more text
yet more text
yet more text
mais je reçois:
2017 message 1
Text
Text
Text
2017 message 2
2017 message 3
yet more text
yet more text
yet more text
... message manquant 2 contenu ..
Je ne peux pas compter sur l'espace ou un autre séparateur END dans mes données source. Ce que je voulais, c'était que chaque message soit imprimé (en fait, push @myarray, $_
& puis testez les correspondances), mais ici il me manque des lignes sous le message 2 parce que la bascule est réglée sur faux. N'importe quelle manière de manipuler ceci avec la bascule ou je dois employer autre chose? Merci d'avance pour toute personne qui peut aider/conseiller.
@simbabque Merci mon ami. Post édité. – mkHun
Encore une chose ... ça marche, mais vous ne réinitialisez jamais '$ f'. Pourquoi pas? Vous pouvez mettre la réinitialisation et un 'refaire 'dans le second bloc' if' pour que chaque paire soit réellement une paire, mais je ne vois pas d'avantage à le faire. – simbabque