# PERL 5.20 caractères accentués Utf8

**URL:** <https://www.debian-fr.org/t/perl-5-20-caracteres-accentues-utf8/68336>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 10:19 UTC](https://www.debian-fr.org/t/perl-5-20-caracteres-accentues-utf8/68336 "2016-02-21T22:19:30Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Février 21, 2016, 10:19 UTC](https://www.debian-fr.org/t/perl-5-20-caracteres-accentues-utf8/68336/1 "2016-02-21T22:19:30Z")

</div>

Bonjour,

Sous Jessie, perl 5.20.2.

Je ne parviens pas à modifier les caractères accentués, avec lc, uc, lcfirst, ucfirst.

Je souhaite mettre certaines données d’origines variées en minuscule, avec 1èr caractère en majuscule.

J’ai essayé les modules et pragmas: 5.20.0, utf8, locale, les données de test sont toutes issues de ma Jessie locale, codées en utf8.

Le message d’erreur de Perl est:

### $leschamps{Pr�nom} (message de Smart::Comments)

Use of uninitialized value $leschamps{“Pr\351nom”} in lc at ./Extraire\_infos.pl  
line 145 (#2)

Comme vous pouvez le voir, il s’agit d’un nom de clé de hashage, qui n’indique aucune erreur, contrairement à la commande lc

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Février 28, 2016, 7:30 UTC](https://www.debian-fr.org/t/perl-5-20-caracteres-accentues-utf8/68336/2 "2016-02-28T19:30:54Z")

</div>

La suite, précisions:

Avec usr utf8;, certains caractères sont corrigés.

Ce qui est incompréhensible pour moi: les mêmes commandes (sur les mêmes variables, ligne suivante) print ou say, impriment tous les caractères accentués sans problème sur la console (pseudo terminal mate encodé utf8), alors que le fichier ciblé avec le même commande ($fichiertex) est codé: ISO-8859 text (info donnée par file)

```auto
my $fichiertex = IO::File->new($TEX, '>>')
         or croak "IMPOSSIBLE D'ÉCRIRE SUR $TEX, $!";

1 print {$fichiertex} $latexline; # ISO-8859
2 print $latexline; # UTF-8
```

Je ne vois rien dans print, say ou IO::File (avec perdoc) qui mentionne l’encodage.
