Man pages sections > man3 > Data::Sah::Normalize

Data::Sah::Normalize - Normalize Sah schema

Data::Sah::Normalize(3pm) User Contributed Perl Documentation Data::Sah::Normalize(3pm)


Data::Sah::Normalize - Normalize Sah schema


This document describes version 0.04 of Data::Sah::Normalize (from Perl distribution Data-Sah-Normalize), released on 2015-09-06.


 use Data::Sah::Normalize qw(normalize_clset normalize_schema);
 my $nclset = normalize_clset({'!a'=>1}); # -> {a=>1, 'a.op'=>'not'}
 my $nsch   = normalize_schema("int");    # -> ["int", {}, {}]


This often-needed functionality is split from the main Data::Sah to keep it in a small and minimal-dependencies package.


normalize_clset($clset) => HASH

Normalize a clause set (hash). Return a shallow copy of the original hash. Die on failure.
TODO: option to recursively normalize clause which contains sah clauses (e.g. "of").

normalize_schema($sch) => ARRAY

Normalize a Sah schema (scalar or array). Return an array. Produce a 2-level copy of schema, so it's safe to add/delete/modify the normalized schema's clause set and extras (but clause set's and extras' values are still references to the original). Die on failure.
TODO: recursively normalize clause which contains sah clauses (e.g. "of").


Sah, Data::Sah


Please visit the project's homepage at <>.


Source repository is 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 <> This software is copyright (c) 2015 by
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
2016-01-10 perl v5.22.1