Сравнение строк Perl iso-8859-1 - PullRequest
       6

Сравнение строк Perl iso-8859-1

3 голосов
/ 04 февраля 2010

Я написал небольшую программу для / usr / share / dict / words поиск палиндромов

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

Однако это не работает для списка датских слов, закодированных в Latin-1 (ISO-8859-1). Просто интересно, как я мог бы заставить это работать?

1 Ответ

3 голосов
/ 04 февраля 2010

Использовать языковой стандарт ? И, возможно, также включите флаг Unicode на STDIN:

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

Без binmode это мог бы быть хороший однострочный текст:

perl -Mlocale -nE 'chomp; say if $_ eq reverse'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...