Hye,你能检查我的脚本哪里是我的问题..对不起,我是 perl 的新手..我想从数字转换为英文单词,例如 1400 -> 1400 ......我已经用过
Lingua::EN::Numbers qw(num2en num2en_ordinal);
这是我的输入文件.txt
I have us dollar 1200
并且输出应该是。“我有我们一千二百美元”
这是我的脚本
#!/usr/bin/perl
use utf8;
use Lingua::EN::Numbers qw(num2en num2en_ordinal);
if(! open(INPUT, '< snuker.txt'))
{
die "cannot opent input file: $!";
}
select OUTPUT;
while($lines = <INPUT>){
$lines =~ s/usd|USD|Usd|uSd|UsD/us dollar/g;
$lines =~ s/\$/dollar /g;
$lines =~ s/rm|RM|Rm|rM/ringgit malaysia /g;
$lines =~ s/\n/ /g;
$lines =~ s/[[:punct:]]//g;
$lines =~ s/(\d+)/num2en($lines)/g; #this is where it should convert to english words
print lc($lines); #print lower case
}
close INPUT;
close OUTPUT;
close STDOUT;
我得到的输出是“ i have us dollar num2en(i have us dollar 1200 )
”
谢谢你