GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Declare::Constraints::Simple::Library::Referencial(3) User Contributed Perl Documentation Declare::Constraints::Simple::Library::Referencial(3)

Declare::Constraints::Simple::Library::Referencial - Ref Constraints

  # scalar or array references
  my $scalar_or_array = IsRefType( qw(SCALAR ARRAY) );

  # scalar reference
  my $int_ref = IsScalarRef( IsInt );

  # accept mappings of ids to objects with "name" methods
  my $id_obj_map = 
    IsHashRef( -keys   => IsInt,
               -values => And( IsObject,
                               HasMethods('name') ));

  # an integer list
  my $int_list = IsArrayRef( IsInt );

  # accept code references
  my $is_closure = IsCodeRef;

  # accept a regular expression
  my $is_regex = IsRegex;

This library contains those constraints that can test the validity of references and their types.

Valid if the value is a reference of a kind in @types.

This is true if the value is a scalar reference. A possible constraint for the scalar references target value can be passed. E.g.

  my $test_integer_ref = IsScalarRef(IsInt);

The value is valid if the value is an array reference. The contents of the array can be validated by passing an other $constraint as argument.

The stack or path part of "IsArrayRef" is "IsArrayRef[$index]" where $index is the index of the failing element.

True if the value is a hash reference. It can also take two named parameters: "-keys" can pass a constraint to check the hashes keys, "-values" does the same for its values.

The stack or path part of "IsHashRef" looks like "IsHashRef[$type $key]" where $type is either "val" or "key" depending on what was validated, and $key being the key that didn't pass validation.

Code references have to be valid to pass this constraint.

True if the value is a regular expression built with "qr". Note however, that a simple string that could be used like "/$rx/" will not pass this constraint. You can combine multiple constraints with And(@constraints) though.

Declare::Constraints::Simple, Declare::Constraints::Simple::Library

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

This module is free software, you can redistribute it and/or modify it under the same terms as perl itself.
2006-09-11 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.