1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| #!/usr/bin/perl
use strict;
use warnings;
open my $fh, '<', 'test.txt'
or die $!;
my @text = <$fh>;
close $fh;
# $text contient l'entièreté du texte, séparation des lignes par le tag $$
my $text = join ('$$', @text);
# suppression des enters : tout le texte sur une seule ligne, différentes phrases séparées par $$
# $text contient : Type de document Jeu $$Thème RECYCLAGE $$Titre Le jeu des sept familles
$text =~ s/\n/ /g;
# $texte contient donc 2 types de lignes à récupérer
# champ\tvaleur$$ (champ uniligne du texte d'origine)
# champ\tvaleur$$valeur$$valeur$$ (champ multiligne du texte d'origine)
# traitement des champs unilignes du texte d'origine
# recherche du motif caractères\tcaractères$$ (uniquement les champs unilignes du texte d'origine)
# suppression des $$ et mise d'un enter
$text =~ s/([^\t]+\t[^\t]+)\$\$/$1\n/g;
# traitement des champs multilignes du texte d'origine
# il ne reste donc plus que des $$ dans les commentaires qui étaient sur plusieurs lignes dans le texte original
# $text contient donc
# Descripteurs RECYCLAGE (= champ uniligne déjà traité)
# Commentaire Un jeu pour apprendre à trier $$les déchets en $$s'amusant ! Des illustrations vivantes, drôles et colorées. (= champ multiligne à traiter)
# Nbre d'exemplaires 1 (= champ uniligne déjà traité)
# suppression des derniers $$
$text =~ s/\$\$//g;
print $text."\n"; |