Declare::Constraints::Simple::Library::Hash man page on Pidora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Pidora logo
[printable version]

Declare::Constraints::UserlContrDeclare::Constraints::Simple::Library::Hash(3)

NAME
       Declare::Constraints::Simple::Library::Hash - Hash Constraints

SYNOPSIS
	 my $constraint = And(

	   # make sure all keys are present
	   HasAllKeys( qw(foo bar) ),

	   # constraints for the keys
	   OnHashKeys( foo => IsInt, bar => HasLength )

	 );

DESCRIPTION
       This module contains all constraints that can be applied to hash
       references.

   HasAllKeys(@keys)
       The value has to be a hashref, and contain all keys listed in @keys to
       pass this constraint.

       The stack or path part of "HasAllKeys" is "HasAllKeys[$key]" where $key
       is the missing key.

   OnHashKeys(key => $constraint, key => $constraint, ...)
       This allows you to pass a constraint for each specific key in a hash
       reference. If a specified key is not in the validated hash reference,
       the validation for this key is not done. To make a key a requirement,
       use HasAllKeys(@keys) above in combination with this, e.g. like:

	 And( HasAllKeys( qw(foo bar baz) )
	      OnHashKeys( foo => IsInt,
			  bar => Matches(qr/bar/),
			  baz => IsArrayRef( HasLength )));

       Also, as you might see, you don't have to check for "IsHashRef"
       validity here. The hash constraints are already doing that by
       themselves.

       The stack or path part of "OnHashKeys" looks like "OnHashKeys[$key]"
       where $key is the key of the failing value.

SEE ALSO
       Declare::Constraints::Simple, Declare::Constraints::Simple::Library

AUTHOR
       Robert 'phaylon' Sedlacek "<phaylon@dunkelheit.at>"

LICENSE AND COPYRIGHT
       This module is free software, you can redistribute it and/or modify it
       under the same terms as perl itself.

perl v5.14.1			Declare::Constraints::Simple::Library::Hash(3)
[top]

List of man pages available for Pidora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net