use Scalar::Util qw(looks_like_number); sub set_number { my ( $self, $number ) = @_; looks_like_number $number ? $self->{'NUMBER'} = $number : Bio::Phylo::Exceptions::BadNumber->throw(error => 'bad number'); }