Data-Selector
view release on metacpan or search on metacpan
lib/Data/Selector.pm view on Meta::CPAN
sub parse_string {
my ( $class, $args, ) = @_;
die "selector_string required\n"
unless defined $args->{selector_string}
&& length $args->{selector_string};
if ( index( $args->{selector_string}, '$', ) != -1 ) {
$args->{selector_string} =~
s/(?:(?<=^)|(?<=,))(\$[a-z_]*)(?:(,)(?!$)|$)/
defined $args->{named_selectors}->{$1}
&& length $args->{named_selectors}->{$1}
? $args->{named_selectors}->{$1} . ( $2 ? $2 : '' )
: die "contains invalid named selector\n";
/ego;
}
my $selector_tree = {};
my @queue = ( [ $args->{selector_string}, $selector_tree, [], ], );
( run in 0.348 second using v1.01-cache-2.11-cpan-cc502c75498 )