Perl remplacer accent

nicolas7474 -  
davlar Messages postés 75 Statut Membre -
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

  1. davlar Messages postés 75 Statut Membre 57
     
    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
  2. nicolas7474
     
    bonjour, personne n'a d'idée??
    0