Small bug in Crypt::RSA::Key::Private::check()
if ($self->p && $self->q) {
return $self->error ("n is not a number.") if $self->n =~ /\D/;
return $self->error ("p is not a number.") if $self->p =~ /\D/;
--> return $self->error ("p is not a number.") if $self->p =~ /\D/;
Here we should be checking that $self->q =~ /\D/;