use Params::Validate 'validate_pos'; use constant FOOBAR_TYPE => { can => [ qw[ print flush frobnicate ] ] }; sub bar { my $foobar = validate_pos( @_, FOOBAR_TYPE ); }