2011-02-03 55 views
0

我要搜索的单词(在日本)在一些组文件中的哪一个具有日本上下文。如何使用perl脚本读取有日文上下文的文件?

我试图做正常的文件,但是我得到错误,如在线路宽字符打印没有--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

你会得到什么错误?该文件在哪个编码中? – Johnny 2011-02-03 10:30:27

回答

3

请先阅读http://p3rl.org/UNI和应用给那里的建议。 编码这个话题已经多次出现在Stack Overflow上,这根本不是日本人特有的。 (GoogleSO tags,SO search

您提到您已将文件保存为UTF-8。为了让你快速入门,这是一种阅读方式:

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