Script 1 : filtreurMODIF
Entrée :
<?xml version="1.0" encoding="iso-8859-1"?><rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<channel>
<title>Le Monde.fr : A la une</title>
<link>http://www.lemonde.fr</link>
<description>Toute l'actualité au moment de la connexion</description>
<copyright>Copyright Le Monde.fr</copyright>
<image><url>http://medias.lemonde.fr/mmpub/img/lgo/lemondefr_rss.gif</url><title>Le Monde.fr</title><link>http://www.lemonde.fr</link></image>
<pubDate>Tue, 01 Jan 2008 17:58:07 GMT</pubDate> <item>
<title>Un document révèle l'étendue des fraudes électorales au Kenya</title>
<link>http://www.lemonde.fr/web/article/0,1-0@2-3212,36-994926,0.html?xtor=RSS-3208</link>
<description> Un document confidentiel, que s&#39;est procuré &#34;Le Monde&#34;, trace les contours du désastre entraîné par le scrutin du 27 décembre, qui vient de plonger le Kenya dans une vague de violences. </description>
<pubDate>Tue, 01 Jan 2008 15:06:05 GMT</pubDate>
<guid isPermaLink="false">http://www.lemonde.fr/web/article/0,1-0@2-3212,36-994926,0.html?xtor=RSS-3208</guid>
<enclosure url="http://medias.lemonde.fr/mmpub/edt/ill/2008/01/01/h_1_ill_994932_keny2.jpg" type="image/jpeg" length="2214"></enclosure>
</item>
Sortie :
contenu de la ligne n°1 : Toute l'actualité au moment de la connexion
contenu de la ligne n°2 : Un document confidentiel, que s&#39;est procuré &#34;Le Monde&#34;, trace les contours du désastre entraîné par le scrutin du 27 décembre, qui vient de plonger le Kenya dans une vague de violences.
contenu de la ligne n°3 : La guerre pour l&#39;investiture républicaine dans l&#39;Iowa, dont le caucus du 3 janvier est capital, fait rage entre les deux hommes. M. Huckabee, qui a effectué une percée inattendue, est en tête selon les derniers sondages.
#!/usr/bin/perl
open(FILEIN,"$ARGV[0]"); # on ouvre le fichier qu'on va lire
open(FILEOUT, ">resultatsMODIF.txt"); # on ouvre le fichier sur lequel on va écrire
$i=1; # compteur
while ($ligne = <FILEIN>){ # tant qu'il y a qqch à lire, on rentre dans la boucle
if ($ligne=~/<description>([^<]+)<\/description>/){ # si on trouve ce motif, on entre dans la boucle
print FILEOUT "contenu de la ligne n°$i : $1\n"; # on affiche dans le fichier de sortie le motif trouvé et on les numérote avec le compteur
$i++; # on incrémente le compteur
} # fin de if
} # fin de while
close(FILEIN); # on ferme le fichier en lecture
close(FILEOUT); # on ferme le fichier en sortie