use Unicode::String qw(utf8); # Format d'entrée : un texte étiqueté et lemmatisé par # Treetagger et un format d'encodage # Format de Sortie : le même texte au format xml (en utf-8) # param $FichierEntree : fichier d'entrée à analyser # param $encodage : encodage du fichier d'entrée sub treetagger_to_xml { my ($FichierEntree, $encodage) = @_; open(Entree,"<:encoding($encodage)", $FichierEntree); $FichierSortie = $FichierEntree . ".xml"; open(Sortie,">:encoding(utf-8)", $FichierSortie); #print Sortie "\n"; #print Sortie "\n"; #print Sortie "
\n"; while ($Ligne = ) { if (uc($encodage) ne "UTF-8" || uc($encodage) ne "UTF8") { utf8($Ligne); } if ($Ligne !~ /\ô\¯\:\\ô\¯\:\\/) { # Remplacement des guillemets par (évite erreur d'interprétation XML) $Ligne =~ s/\"//g; $Ligne =~ s/([^\t]*)\t([^\t]*)\t(.*)/\n $2<\/data>\n $3<\/data>\n $1<\/data>\n<\/element>/g; $Ligne =~ s//unknown/g; $Ligne =~ s//img<\/data>/g; $Ligne =~ s/<\/a>/unknown/g; $Ligne =~ s//url<\/data>/g; $Ligne =~ s/&/ampersand/g; print Sortie $Ligne; } } #print Sortie "
\n"; #print Sortie "
\n"; close(Entree); close(Sortie); ferme; } 1;