Perl iso-8859-1字符串比较

时间:2010-02-04 19:54:15

标签: perl character-encoding

我写了一个小程序来浏览 / usr / share / dict / words 找到回文

while(<>){
  chomp;
  print "$_\n" if $_ eq reverse;
}

但是,这不适用于以Latin-1(ISO-8859-1)编码的丹麦语单词列表。 只是想知道我是如何让它发挥作用的?

1 个答案:

答案 0 :(得分:3)

使用locale?也许还可以打开STDIN上的Unicode标志:

use Modern::Perl;
use locale;
binmode(STDIN, ":utf8");
while (<>) {
    chomp;
    say if $_ eq reverse;
}

没有binmode它可能是一个很好的单行:

perl -Mlocale -nE 'chomp; say if $_ eq reverse'