blob: 256131db122f8a329c515b41042639322c2ef3fb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
package Params::Validate::XS;
use strict;
use warnings;
our $VERSION = '1.20';
use Carp;
my $default_fail = sub {
Carp::confess( $_[0] );
};
{
my %defaults = (
ignore_case => 0,
strip_leading => 0,
allow_extra => 0,
on_fail => $default_fail,
stack_skip => 1,
normalize_keys => undef,
);
*set_options = \&validation_options;
sub validation_options {
my %opts = @_;
my $caller = caller;
foreach ( keys %defaults ) {
$opts{$_} = $defaults{$_} unless exists $opts{$_};
}
$Params::Validate::OPTIONS{$caller} = \%opts;
}
use XSLoader;
XSLoader::load(
__PACKAGE__,
exists $Params::Validate::XS::{VERSION}
? ${ $Params::Validate::XS::{VERSION} }
: (),
);
}
sub _check_regex_from_xs {
return ( defined $_[0] ? $_[0] : '' ) =~ /$_[1]/ ? 1 : 0;
}
1;
|