Как читать файлы, которые имеют японский контекст, используя скрипт Perl? - PullRequest
0 голосов
/ 03 февраля 2011

Я хочу найти слово (которое в Японский ) в некоторой группе файлов, которая имеет Японский контекст.

Я пытался сделать как обычные файлы, но я получаю сообщение об ошибке, например широкий символ при печати в строке без строки --print .

я использовал

   use Unicode::Japanese;
   use Unicode::Japanese qw(PurePerl);

как указано на некоторых сайтах.

вот код, который я использую

    my $dr="My_Directory" ;    
    opendir DIR, $dr ;    
    my @txtfiles=grep { /\.txt$/ } readdir(DIR) ;    
    foreach $file(@txtfiles)    
    {       
        my $count=0;    
        my @words=();
        open(FILE, $dr.$file);
        while (<FILE>) 
        {
            push(@words, split(/\s+/));                
        } 
        foreach $word (@words) 
        {
            if($word=~ m/$word_to_search/i) 
            {                        
                $count++;                   
            }        
        }
        print "$word_to_search occurs $count times in $file file\n";  
    }

любые идеи будут очень полезны.

Заранее спасибо.

PNVR

1 Ответ

3 голосов
/ 03 февраля 2011

Пожалуйста, сначала прочитайте http://p3rl.org/UNI и примените приведенный там совет. Тема кодировка уже много раз упоминалась в Переполнении стека, это вообще не относится к японскому языку. ( Google , SO теги , SO search )

Вы упоминаете, что сохранили файл как UTF-8. Чтобы быстро начать, вот способ прочитать:

open my $fh, '<:encoding(UTF-8)', 'filename.txt';
...