ねえ、私のスクリプトをチェックしてくれませんか。私の問題はどこにありますか。申し訳ありませんが、Perlは初めてです。たとえば、1400->1400などの数字から英語の単語に変換したいです...すでに使用しています
Lingua::EN::Numbers qw(num2en num2en_ordinal);
これは私の入力file.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 )
」です
ありがとうございました