The encoding layer is already handling that, so forget about the utf8::decode($_); line and it all just works:
$ cat uct.pl
#!/usr/bin/perl5.16.3
use strict;
use HTML::Entities;
binmode STDIN, ':encoding(UTF-8)';
binmode STDOUT, ':encoding(UTF-8)';
while(<>) {
chomp;
$_ = decode_entities($_);
$_ = lc($_);
print $_, "\n";
}
$ echo -e "Édition limitée.\nÉdition limitée." | perl uct.pl
édition limitée.
édition limitée.
Update: forgot to mention: this is on perl 5.20.3 regardless of your #! line.
In reply to Re^3: Unexpected interaction between decode_entities() and lc()
by hippo
in thread Unexpected interaction between decode_entities() and lc()
by kurisuto
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |