X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2F_Util.pm;h=3eab8682dba31f9843cd63decbd6a9feab5e0c19;hb=d634850b14e7b23a617d8373a4bb8684a8db8b8a;hp=e01cebe2154fadf58f4bc9247936060c51fc5356;hpb=c58303cdc16b758c6674ad749f8a41334fae1d28;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/_Util.pm b/lib/DBIx/Class/_Util.pm index e01cebe..3eab868 100644 --- a/lib/DBIx/Class/_Util.pm +++ b/lib/DBIx/Class/_Util.pm @@ -80,7 +80,7 @@ sub qsub ($) { goto "e_sub } # no point depping on new Moo just for this use base 'Exporter'; our @EXPORT_OK = qw( - sigwarn_silencer modver_gt_or_eq + sigwarn_silencer modver_gt_or_eq modver_gt_or_eq_and_lt fail_on_internal_wantarray fail_on_internal_call refdesc refcount hrefaddr is_exception quote_sub qsub perlstring serialize @@ -199,6 +199,19 @@ sub modver_gt_or_eq ($$) { eval { $mod->VERSION($ver) } ? 1 : 0; } +sub modver_gt_or_eq_and_lt ($$$) { + my ($mod, $v_ge, $v_lt) = @_; + + croak "Nonsensical maximum version supplied" + if ! defined $v_lt or $v_lt =~ /[^0-9\.\_]/; + + return ( + modver_gt_or_eq($mod, $v_ge) + and + ! modver_gt_or_eq($mod, $v_lt) + ) ? 1 : 0; +} + { my $list_ctx_ok_stack_marker;