0

日本語のコンテキストを持つファイルのグループで単語 (日本語) を検索したい。

私は通常のファイルとしてやろうとしましたが、行番号 --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

4

1 に答える 1

3

最初にhttp://p3rl.org/UNIを読み、そこで与えられたアドバイスを適用してください。エンコーディングの話題はすでに Stack Overflow で何度も出てきましたが、これは日本語に限ったことではありません。( GoogleSOタグSO検索)

ファイルを UTF-8 で保存したとのことです。すぐに始められるように、次のように読みます。

open my $fh, '<:encoding(UTF-8)', 'filename.txt';
于 2011-02-03T12:21:46.013 に答える