Data::Type

Data::Type is a Perl module with versatile data and value types.
Download

Data::Type Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Murat nalan
  • Publisher web site:
  • http://search.cpan.org/~muenalan/Winamp-Control-0.2.1/Control.pm

Data::Type Tags


Data::Type Description

Data::Type is a Perl module with versatile data and value types. Data::Type is a Perl module with versatile data and value types.SYNOPSIS use Data::Type qw(:all); use Error qw(:try); try { verify $email , EMAIL; verify $homepage , URI('http'); verify $cc , CREDITCARD( 'MASTERCARD', 'VISA' ); verify $answer_a , YESNO; verify $gender , GENDER; verify 'one' , ENUM( qw(one two three) ); verify , SET( qw(one two three four five six) ) ); verify $server_ip4 , IP('v4'); verify $server_ip6 , IP('v6'); verify 'A35231AH1' , CINS; verify '14565935' , ISSN; verify 'DE' , LANGCODE; verify 'German' , LANGNAME; verify '012345678905', UPC(); verify '5276440065421319', CREDITCARD( 'MASTERCARD' ) ); verify 'ATGCAAAT' , BIO::DNA; verify 'AUGGGAAAU' , BIO::RNA; verify '01001001110110101', BINARY; verify '0F 0C 0A', HEX; verify '0' , DEFINED; verify '234' , NUM( 20 ); verify '1' , BOOL( 'true' ); verify '100' , INT; verify '1.1' , REAL; my $foo = bless( '123', 'SomeThing' ); verify $foo , REF; verify $foo , REF( qw(SomeThing Else) ); verify , REF( 'ARRAY' ); verify ' ' x 20 , VARCHAR( 20 ); verify '2001-01-01' , DATE( 'MYSQL' ); verify '16 Nov 94 22:28:20 PST' , DATE( 'DATEPARSE' ); verify '9999-12-31 23:59:59', DATETIME; verify '1970-01-01 00:00:00', TIMESTAMP; verify '-838:59:59' , TIME; verify '2155' , YEAR; verify '69' , YEAR(2); verify '0' x 20 , TINYTEXT; verify '0' x 20 , MEDIUMTEXT; verify '0' x 20 , LONGTEXT; verify '0' x 20 , TEXT; verify '80' , PORT; verify 'www.cpan.org', DOMAIN; } catch Type::Exception with { my $e = shift; printf "Expected '%s' %s at %s line %sn", $e->value, $e->type->info, $e->was_file, $e->was_line; foreach my $entry ( testplan( $e->type ) ) { printf "texpecting it %s %s ", $entry-> ? 'is' : 'is NOT', $entry->->info(); } }; # believe it or not, this really works foreach ( EMAIL, WORD, CREDITCARD( 'MASTERCARD', 'VISA' ), BIO::DNA, HEX ) { print $_->info; print $_->usage; print $_->export; # does it have other names print $_->param; # what are my choice i.e. print $_->isa( 'IType::Business' ); # is it a Business related type ? print $_->VERSION; # first apperance in Data::Type release } # tied interface (alias 'typ') try { typ ENUM( qw(DNA RNA) ), ( my $a, my $b ); print "a is typ'ed" if istyp( $a ); $a = 'DNA'; # $alias only accepts 'DNA' or 'RNA' $a = 'RNA'; $a = 'xNA'; # throws exception untyp( $alias ); } catch Type::Exception ::with { printf "Expected '%s' %s at %s line %sn", $e->value, $e->type->info, $e->was_file, $e->was_line; }; dverify( $email, EMAIL ) or die $!; my $g = Data::Type::Guard->new( allow => , # blessed objects of that type tests => { email => EMAIL( 1 ), # mxcheck ON ! see Email::Valid firstname => WORD, social_id => , contacts => sub { my %args = @_; exists $args{lucy} }, } ); $g->inspect( $h ); # compact version overify { email => EMAIL( 1 ), firstname => WORD }, $object_a, $object_b; print toc(); print catalog();This module supports versatile data and value types. Out of the ordinary it supports parameterised types (like databases have i.e. VARCHAR(80) ). When you try to feed a typed variable against some odd data, this module explains what he would have expected. Requirements: · Perl


Data::Type Related Software