#!/usr/bin/perl use strict; use warnings; use Lingua::JA::Numbers; my $converted = shift @ARGV; my $len = $ARGV[0]; my (@numList, @rom, @kana, @kanji, %randList); open(OUTFILE, '>', 'converted.txt'); binmode OUTFILE, ":utf8"; foreach (my $i = 0; $i < $ARGV[1]; ++$i) { my $genlen = int rand $len; my $max = 1 . 0 x $genlen; my $num = int rand $max; $randList{$num} = 1; } print "randList length: " . scalar(keys %randList) . "\n"; foreach my $key (keys %randList) { push @numList, $key; } print "Length randList: " . ($#numList + 1); for my $num (@numList){ my $jaRom = Lingua::JA::Numbers->new($num, {style=>'romaji'}); my $jaKana = Lingua::JA::Numbers->new($num, {style=>'hiragana'}); my $jaKanji = Lingua::JA::Numbers->new($num, {style=>'kanji'}); push @rom, $jaRom; push @kana, $jaKana; push @kanji, $jaKanji; } my (@hyphens, @noHyphens); for my $strg (@rom){ @hyphens = Lingua::JA::Numbers::to_string($strg); foreach my $val (@hyphens){ $val =~ s/-//g; } push @noHyphens, join(' ', @hyphens); } @rom = @noHyphens; my $size = scalar @numList; for (my $i = 0; $i < $size; ++$i){ print OUTFILE $numList[$i] . "," . $rom[$i] . "," . $kana[$i] . "," . $kanji[$i] . "\n"; } close OUTFILE;