Perinci::Sub::Normalize(3) Normalize Rinci function metadata


This document describes version 0.18 of Perinci::Sub::Normalize (from Perl distribution Perinci-Sub-Normalize), released on 2016-05-11.


use Perinci::Sub::Normalize qw(normalize_function_metadata);
my $nmeta = normalize_function_metadata($meta);


normalize_function_metadata($meta[ , \%opts ]) => HASH

Normalize and check Rinci function metadata $meta. Return normalized metadata, which is a shallow copy of $meta. Die on error.

Available options:

  • allow_unknown_properties => BOOL (default: 0)

    If set to true, will die if there are unknown properties.

  • normalize_sah_schemas => BOOL (default: 1)

    By default, Sah schemas e.g. in "result/schema" or "args/*/schema" property is normalized using Data::Sah's "normalize_schema". Set this to 0 if you don't want this.

  • remove_internal_properties => BOOL (default: 0)

    If set to 1, all properties and attributes starting with underscore ("_") with will be stripped. According to DefHash specification, they are ignored and usually contain notes/comments/extra information.


Please visit the project's homepage at <>.


Please report any bugs or feature requests on the bugtracker website <>

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.


perlancar <[email protected]>


This software is copyright (c) 2016 by [email protected].

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.