Path-Iterator-Rule

 view release on metacpan or  search on metacpan

lib/Path/Iterator/Rule.pm  view on Meta::CPAN

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use strict;
 
# ABSTRACT: Iterative, recursive file finder
our $VERSION = '1.015';
 
# Register warnings category
 
use if $] ge '5.010000', 're', 'regexp_pattern';
 
# Dependencies
use Carp           ();
use File::Spec     ();
use List::Util     ();
use Number::Compare 0.02;
use Scalar::Util ();
use Text::Glob   ();

lib/Path/Iterator/Rule.pm  view on Meta::CPAN

458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
    $add ||= '';
    my $new = ref($re) eq 'Regexp' ? $re : Text::Glob::glob_to_regex($re);
    return $new unless $add;
    my ( $pattern, $flags ) = _split_re($new);
    my $new_flags = $add ? _reflag( $flags, $add ) : "";
    return qr/$new_flags$pattern/;
}
 
sub _split_re {
    my $value = shift;
    if ( $] ge 5.010 ) {
        return re::regexp_pattern($value);
    }
    else {
        $value =~ s/^\(\?\^?//;
        $value =~ s/\)$//;
        my ( $opt, $re ) = split( /:/, $value, 2 );
        $opt =~ s/\-\w+$//;
        return ( $re, $opt );
    }
}



( run in 1.352 second using v1.01-cache-2.11-cpan-55f5a4728d2 )