use Params::Validate 'validate_pos'; sub foo { # Three args are required. my ( $foo, $bar, $baz ) = validate_pos( @_, 1, 1, 1 ); ... }