1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| #!/usr/bin/perl
use warnings;
use strict;
use utf8;
use Term::UI; # Pour interaction avec la console
use Term::ReadLine; # Pour interaction avec la console
use Encode;
ActiverAccents();
my @Tab = ("TéTè","TïTù","TITI","TàTë");
my $Lib = "Choisissez un libellé avec ou sans les accents : éèçàëêù : ";
$Lib = encode("cp850", $Lib);
my $term = Term::ReadLine->new('brand');
my $nom_region_choisie = $term->get_reply(
print_me => "1- Listons tous les libellés",
prompt => $Lib,
choices => \@Tab,
default => 'TITI',
);
print "Fin\n";
#==============================================================
# Pour avoir les accents sur la console DOS
# http://perl.developpez.com/faq/perl/?page=Terminal#AccentsDOS
#==============================================================
sub ActiverAccents {
my $encodage;
# Windows
if ( lc($^O ) eq 'mswin32') {
eval {
my ($codepage) = ( `chcp` =~ m/:\s+(\d+)/ );
$encodage = "cp$codepage";
foreach my $h ( \*STDOUT, \*STDERR, \*STDIN, ) {
binmode $h, ":encoding($encodage)";
}
};
}
else {
$encodage = `locale charmap`;
eval {
foreach my $h ( \*STDOUT, \*STDERR, \*STDIN, ) {
binmode $h, ":encoding($encodage)";
}
};
}
return $encodage;
}
#Sinon :
#ü \x81 à \x85 è \x8A
#é \x82 ç \x87 ï \x8B
#â \x83 ê \x88 î \x8C
#ä \x84 ë \x89 |