use 5.010; use Moose; use MooseX::Params::Validate; sub test { my ($self, %params) = validated_hash(\@_, i => {isa => 'Defined',}, ); return "$params{i} ist immer ein definierter Wert"; } my $obj = __PACKAGE__->new; say $obj->test(i => 'abc'); # ok say $obj->test(i => 0); # ok say $obj->test(i => undef); # nok say $obj->test; # nok