Когда я ввожу «Мюллер», на экране появляется «Мюллер».Как я мог это исправить?
#!/usr/bin/env perl use warnings; use 5.012; use Term::ReadLine; my $term = Term::ReadLine->new( 'dummy' ); my $con = $term->readline( ': ' ); say $con; # On the screen: # : M��ller # Müller
Примените слой :utf8 к файловым дескрипторам STDIN и STDOUT и передайте их в качестве аргументов Term::ReadLine->new():
:utf8
STDIN
STDOUT
Term::ReadLine->new()
binmode STDIN, ':utf8'; binmode STDOUT, ':utf8'; my $term = Term::ReadLine->new( 'dummy', \*STDIN, \*STDOUT );