print "Number to test: "; $prime=<>; $t=($prime-1); sub fac { my ($n) = @_; if ($n < 2) { return $n; } else { return $n *fac($n-1); } } $r = ((fac($t))+1); if ($r % $prime) { print "not prime\n"; } else { print "prime\n"; }