The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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 <reneeb@cpan.org>

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)