http://www.perlmonks.org?node_id=11124935


in reply to Re: Length of Array Passed as Reference
in thread Length of Array Passed as Reference

Or:

use feature 'state'; use Types::Standard -types; use Type::Params 'compile'; sub test_function { state $signature = compile( ArrayRef[Str] ); my ( $ref ) = &$signature; # function body goes here }

The signature will check that the function was passed the correct number of arguments, the correct types, etc, and die if it wasn't.

Replies are listed 'Best First'.
Re^3: Length of Array Passed as Reference
by eyepopslikeamosquito (Bishop) on Dec 10, 2020 at 10:49 UTC

    Nice. It seems to me your API embraces "Declarative trumps Imperative" (one of Conway's seven API design tips, mentioned at On Interfaces and APIs).