perl 轉漢字到拼音

pm link : search.cpan.org/~fayland/Lingua-Han-PinYin-0.15/lib/Lingua/Han/PinYin.pm

  1. #!/usr/bin/perl -w  
  2.  
  3. use Lingua::Han::PinYin();  
  4.  
  5. sub getpinyin{  
  6. my @value = @_;  
  7. my $pinyin = '';  
  8.     for my $out (0 .. $#value){  
  9.        $pinyin .= $value[$out];  
  10.     }  
  11.    print "$pinyin";  
  12. }  
  13.  
  14. open(FH,$ARGV[0]) or die "Can't find filename:$!";  
  15. while(<FH>)  
  16. {  
  17.    next if /^#/;  
  18.    my($filmname,$size) = split /\s+/;  
  19.    my $h2p = new Lingua::Han::PinYin();  
  20.    my @value = $h2p->han2pinyin("$filmname");  
  21.    getpinyin(@value);  
  22.    print "\t$size\n";  
  23. }  
  24. close FH; 

han2pinyin()只處理中文字符;出現其他的符號如./字符/<<>>等原樣輸出;

  1. 列表文件:  
  2.  
  3. #name   size/MB  
  4. 葉問.mp4        578M  
  5. 奪金.mp4        644M  
  6. 遮天.txt        6M  
  7. 龍門飛甲.ts     1.4G  
  8.  
  9. 處理:  
  10.  
  11. [root@cz perl]# perl pinyin.pl liebiao.txt  
  12. xiewen.mp4      578M  
  13. duojin.mp4      644M  
  14. zhetian.txt     6M  
  15. longmenfeijia.ts        1.4G  
  16.    

 貌似這裏的xiewen讓人有點抓狂;

錯誤提交給作者後,給出了新版連接地址:http://fayland.org/CPAN/Lingua-Han-PinYin-0.16.tar.gz  (更新了.dat文件裏的信息庫)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章