Posez votre question Signaler

Perl remplacer accent

nicolas7474 - Dernière réponse le 29 janv. 2008 à 17:50
Bonjour,
je désire remplacer les accents dans un texte entré au clavier (avec <STDIN>) par la lettre non accentué et la ponctuation par des espaces. J'uilise le code ascii, à savoir
print "Veuillez entrer un texte \n";

$texte=<>;

chomp($texte);

$texte=lc($texte);

$texte=~tr/[x00-x2F]/ /;

le problème est que cela ne marche pas pour du texte entré au clavier!!cela marche pour du texte provenant d'un fichier mais pas avec <STDIN>
j'aimerai savoir si qu'elqu'un a une solution?
en vous remerciant
Lire la suite 

Perl remplacer accent »

2 réponses
Réponse
+2
moins plus
Tu peux essayer ceci:


Windows:
use open IN => ':encoding(cp1252)';
use open OUT => ':encoding(cp1252)';

DOS:
use open IN => ':encoding(cp850)';
use open OUT => ':encoding(cp850)';

Ou si c'est juste pour des print

use Encode qw/encode decode/;

...
...

print encode("cp850","$texte");


PS: Si quelqu'un connaît un solution portable je suis prenneur.

Dave
Ajouter un commentaire
Réponse
+0
moins plus
bonjour, personne n'a d'idée??
Ajouter un commentaire
Ce document intitulé « perl remplacer accent » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?