NAME

   Tie::CheckVariables - check/validate variables for their data type

VERSION

   version 0.07

SYNOPSIS

     use Tie::CheckVariables;

     tie my $scalar,'Tie::CheckVariables','integer';
     $scalar = 88; # is ok
     $scalar = 'test'; # is not ok, throws error

     untie $scalar;

DATA TYPES

   You can use these data types by default:

     * integer

     * float

     * string

WHAT TO DO WHEN CHECK FAILS

on_error

   You can specify a subroutine that is invoked on error:

     use Tie::CheckVariables;

     Tie::CheckVariables->on_error(sub{print "ERROR!"});

     tie my $scalar,'Tie::CheckVariables','integer';
     $scalar = 'a'; # ERROR! is printed
     untie $scalar;

USE YOUR OWN DATA TYPE

register

   If the built-in data types aren't enough, you can extend this module
   with your own data types:

     use Tie::CheckVariables;

     Tie::CheckVariables->register('url','^http://');
     tie my $test_url,'Tie::CheckVariables','url';
     $test_url = 'http://www.perl.org';
     untie $test_url;

USING Type::Tiny

   Since the very first version of this module, a lot has happened. Moose,
   Moo and other very nice modules were developed. And sometimes later
   Type::Tiny was written.

   So I added support for Types::Standard now ;-)

     use Tie::CheckVariables;
     use Types::Standard qw(Int);

     tie my $test_int,'Tie::CheckVariables', Int;
     $test_int = 112;
     $test_int = 'Test'; # throws error
     untie $test_url;

AUTHOR

   Renee Baecker <[email protected]>

COPYRIGHT AND LICENSE

   This software is Copyright (c) 2006 by Renee Baecker.

   This is free software, licensed under:

     The Artistic License 2.0 (GPL Compatible)