txtaffichebalise2html-pm.pl

#!/usr/bin/perl
use locale; #caracteres accentues
#On lance comme cela: perl txtsimple2html.pl
#On obtient: fichier.txt.html
print "Bienvenu(e) au programme qui permet \n d'afficher les fichiers TXT en HTML en touchant aux balises qui sont déjà là.\n";
print "Nom du fichier de travail, de preference un .txt au format UNIX: \n";
my $file=<STDIN>;
chomp($file);
open(FILEIN, $file);
open(FILEOUT, ">$file.html");
my $DUMPFULL="";
while(my $recup=<FILEIN>)
{
#1. transcodage
##Les non métacaractères##
$recup=~s/&/&amp;/g;
####Les métacaractères####
$recup=~s/\>/&gt;/g;
$recup=~s/\</&lt;/g;
$recup=~s/\"/&quot;/g;
####Les Accents####
$recup=~s/à/&agrave;/g;
$recup=~s/á/&aacute;/g;
$recup=~s/â/&acirc;/g;
$recup=~s/ã/&atilde;/g;
$recup=~s/ä/&auml;/g;
$recup=~s/å/&aring;/g;
$recup=~s/æ/&aelig;/g;
$recup=~s/è/&egrave;/g;
$recup=~s/é/&eacute;/g;
$recup=~s/ê/&ecirc;/g;
$recup=~s/ë/&euml;/g;
$recup=~s/è/&egrave;/g;
$recup=~s/é/&eacute;/g;
$recup=~s/ê/&ecirc;/g;
$recup=~s/ë/&euml;/g;
$recup=~s/ì/&igrave;/g;
$recup=~s/í/&iacute;/g;
$recup=~s/î/&icirc;/g;
$recup=~s/ï/&iuml;/g;
$recup=~s/ò/&ograve;/g;
$recup=~s/ó/&oacute;/g;
$recup=~s/ô/&ocirc;/g;
$recup=~s/õ/&otilde;/g;
$recup=~s/ö/&ouml;/g;
$recup=~s/ù/&ugrave;/g;
$recup=~s/ú/&uacute;/g;
$recup=~s/û/&ucirc;/g;
$recup=~s/ü/&uuml;/g;
$recup=~s/ç/&ccedil;/g;
####Les fichiers de type texte####
##Les paragraphes et les line breaks##
$recup=~s/(\s)*\n/\n/g; #supprime les espaces avant le retour à la ligne
$recup=~s/^\n/<p>\n/g; #met des paragraphes dans tous les sauts de ligne
if ($recup=~/[^<p>]\n/g)
{
$recup=~s/\n/<\/br>\n/g;
};# met des br en fin de ligne lorsque la balise <p> n'est pas là
##Spécial si texte dans ligne alors ligne##
if (($recup=~/langue=fr/g)||($recup=~/langue=br/g))
{
$recup=~s/$recup/<font color="#00618B">$recup<\/font>/g;
};#Colorie toutes les balises en bleu
#2. Memorisation dans DUMPFULL
$DUMPFULL.=$recup;
};
#3. En-tete
print FILEOUT "<html>\n
<head>\n
<title>La langue n'est pas un long fleuve tranquille 1: Comparaison morpholexicale du vocable potentiel dans le domaine de la biologie cellulaire entre le Français et le Portugais<\/title>\n
<meta http-equiv=\"content-type\" content=\"text\/html; charset=windows-1250\">\n
<\/head>\n
<body bgcolor=\"\#DEF7D8\" text=\"\#DE6B3F\" link=\"\#034B16\" alink=\"\#C059E2\" vlink=\"\#431C4F\" background=\".\/IMAGES\/multibk.jpg\">\n
<blockquote>\n
\n
<h2><font color=\"#390917\">",$file,"<\/font><\/h2>\n";
#4. Remplacement des entites
print FILEOUT $DUMPFULL;
# Pied de page
print FILEOUT "<p><a href=\"\.\/index.html\"><img src=\"\.\/IMAGES\/index\.gif\"><\/a><\/blockquote>\n<\/body>\n<\/html>\n";
#print FILEOUT "<\/blockquote>\n<\/body>\n<\/html>\n";
print "\nLe fichier bien accentue se nomme $file.html";
#----------------------------------------------
close(FILEIN);
close(FILEOUT);