Perl remplacer accent

Fermé
nicolas7474 - 28 nov. 2007 à 12:22
davlar Messages postés 75 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 11 mai 2009 - 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

2 réponses

davlar Messages postés 75 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 11 mai 2009 57
29 janv. 2008 à 17:50
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
2
nicolas7474
29 nov. 2007 à 07:53
bonjour, personne n'a d'idée??
0