俺が改良してやる。ちなみに現バージョンのPerlではsrandは敢えて使う必要はない。
種は自動で初期化されるからな。
もし使うなら1スクリプトにつき1回だけが推奨。while(1)ループ中で毎回使うのは愚。

open my $fh, '<', 'English.txt' or die $!;
my @english = <$fh>;
close $fh;
chomp @english;
open $fh, '<', 'Japanese.txt' or die $!;
my @japanese = <$fh>;
close $fh;
chomp @japanese;
while (1) {
my $line = int(rand() * @english);
print "$english[$line] > ";
chomp(my $input = <>);
print $japanese[$line] eq $input ? "正解\n" : "不正解\n";
}