/usr/share/perl5/auto/Data/Validate/is_between.al is in libdata-validate-perl 0.09-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 52 53 54 55 56 57 58 | # NOTE: Derived from blib/lib/Data/Validate.pm.
# Changes made here will be lost when autosplit is run again.
# See AutoSplit.pm.
package Data::Validate;
#line 417 "blib/lib/Data/Validate.pm (autosplit into blib/lib/auto/Data/Validate/is_between.al)"
# -------------------------------------------------------------------------------
sub is_between{
my $self = shift if ref($_[0]);
my $value = shift;
my $min = shift;
my $max = shift;
# must be a number
my $untainted = is_numeric($value);
return unless defined($untainted);
# issues with very large numbers. Fall over to using
# arbitrary precisions math.
if(length($value) > 10){
my $i = Math::BigInt->new($value);
# minimum bound
if(defined($min)){
$min = Math::BigInt->new($min);
return unless $i >= $min;
}
# maximum bound
if(defined($max)){
$max = Math::BigInt->new($max);
return unless $i <= $max;
}
# untaint
($value) = $i->bstr() =~ /(.+)/;
return $value;
}
# minimum bound
if(defined($min)){
return unless $value >= $min;
}
# maximum bound
if(defined($max)){
return unless $value <= $max;
}
return $untainted;
}
# end of Data::Validate::is_between
1;
|