use Carp; sub function { my ( $arrayref, $hashref ) = @_; croak if not defined $arrayref; croak if $arrayref ist keine Array-Referenz if ( defined $hashref ) { croak if $hashref ist keine Hash-Referenz # test keys und values croak if ungültige keys oder values; } ... ... return Auswahl aus $arrayref; }