package T5; use base 'Validator::Custom'; __PACKAGE__->register_constraint( C1 => sub { my ($value, $args) = @_; return [1, [$value, $args]]; }, C2 => sub { my ($value, $args) = @_; return [0, [$value, $args]]; }, TRIM_LEAD => sub { my $value = shift; $value =~ s/^ +//; return [1, $value]; }, TRIM_TRAIL => sub { my $value = shift; $value =~ s/ +$//; return [1, $value]; }, NO_ERROR => sub { return [0, 'a']; }, C3 => sub { my ($values, $args) = @_; if ($values->[0] == $values->[1] && $values->[0] == $args->[0]) { return 1; } else { return 0; } }, C4 => sub { my ($value, $arg) = @_; return defined $arg ? 1 : 0; }, C5 => sub { my ($value, $arg) = @_; return [1, $arg]; }, C6 => sub { my $self = $_[2]; return [1, $self]; } );