The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl
use warnings;
use strict;

use Term::ReadKey;
use Getopt::Std;
use Lingua::JA::Number qw(to_string);

getopts('r', \ my %opts);

my @length = (2, 3, 4);  # Prompt for 2-,3-
                         # and 4-digit numbers
$| = 1;

while(1) {
    my $digits = $length[rand(@length)];
    my $ques = int rand(10**$digits);
    next unless $ques;
    my $ans = join '-', to_string($ques);
    if($opts{r}) {
        ($ans, $ques) = ($ques, $ans);
    }
    print "$ques ... "; 
    ReadMode("noecho");
    ReadLine(0);
    ReadMode("normal");
    print $ans, "\n";
}