The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package Mock::BarValidator;
use base qw(Exporter);

use vars qw( @EXPORT );

@EXPORT = qw( _is_odd _is_even );

sub _is_odd
	{
	my( $bucket, $hash ) = @_;

	$bucket->add_to_bucket( {
		description => "The number is odd",
		args        => [ $hash ],
		fields      => [ $hash->{field} ],
		code        => sub { $_[0] % 2 or die
			{
			message => "$_[0] was not an odd number",
			handler => "_is_odd_number",
			} },
		} );
	}

sub _is_even
	{
	my( $bucket, $hash ) = @_;

	$bucket->add_to_bucket( {
		description => "The number is even",
		args        => [ $hash ],
		fields      => [ $hash->{field} ],
		code        => sub { $_[0] % 2 and die
			{
			message => "$_[0] was not an even number",
			handler => "_is_even_number",
			} },
		} );
	}

1;