#C:\Perl\bin\perl5.8.8.exe -w use strict; use warnings; use CGI; use locale; #---------------------------------------------------------- my $cgi = new CGI; use CGI::Carp qw(fatalsToBrowser); #---------------------------------------------------------- if (!open (FILEIN,"chansons.xml")) {die "Pb a l'ouverture du fichier $_"}; #---------------------------------------------------------- print "Content-type: text/html\n\n"; print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">', "\n"; print "<html><head><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"/></head>\n"; print "<body bgcolor=\"#DDDDD\"><a name=\"debut\"/><h3 align=\"center\" style=\"margin-top:-5px\">Tableaux des chansons alignées</h3>\n"; print "<div style=\"margin-left:60px\"><ul>"; my $j=0; #compteur de lignes while(my $ligne=<FILEIN>) { if ($ligne=~/<chanson num=\"[\d]+\" auteur=\"(.+)\" titre="(.+)">/) { $j++; print "<li>Chanson $j : <a href=\"#ncre$j\"> $2</a> <i>[$1]</i></li>\n"; } } print "</ul></div>\n"; close(FILEIN); open(FILEIN,"chansons.xml"); my $j=0; my $k; #compteur de lignes matchées while(my $ligne=<FILEIN>) { if ($ligne=~/<chanson num=\"[\d]+\" auteur=\"(.+)\" titre="(.+)">/) { $j++; print "<a name=\"ancre$j\"/>"; if ($j>1) { print "<div align=\"right\"><a name=\"fin\"><a href=\"#debut\">< Sommaire</a></div>\n"; } print "<p align=\"center\" style=\"margin-top:-10px, margin-bottom:-10px\"><b>Chanson $j</b></p>"; print "<table align=\"center\" rules=\"rows\" style=\"border-collapse:collapse\">\n"; print "<tr><td colspan=\"4\" align=\"center\" bgcolor=\"silver\">$1 - $2</td></tr>\n"; $k=1; } if ($ligne=~/<element langue=\"fr\">(.+)<\/element><element langue=\"kb\">(.+)<\/element>/) { print "<tr><td> $k </td><td>$1</td><td> </td><td>$2</td></tr>\n"; $k++; } if ($ligne=~/<\/chanson>/) { print "<tr></tr></table><br/>\n"; } } print "<a name=\"$j\"/><div align=\"right\"><a name=\"fin\"><a href=\"#ebut\">< Sommaire</a></div>\n"; print "<br/><br/><i><div align=\"center\" style=\"font-size:75%\">Jugurtha Aït Hamlat - pluriTAL ©2009, INALCO, Paris 10, Paris 3</div></i></body></html>"; close(FILEIN);