Skip to content

escapes inside filter #7

@davewood

Description

@davewood

the different behaviour of single and double quotes inside of a filter is confusing to me and https://metacpan.org/pod/Data::DPath#Special-characters didnt entirely clear it up to us.

#!/usr/bin/env perl
use 5.018;
use warnings;
use Data::DPath 'dpath';

my $data = { foo => 'aaa[bbb/ccc]ddd' };

match( $data, q!/foo[value eq 'aaa\[bbb/ccc\]ddd']! );
match( $data, q!/foo[value eq 'aaa[bbb/ccc]ddd']! );
match( $data, q!/foo[value eq "aaa\\[bbb/ccc\\]ddd"]! );

sub match {
    my ($input_pl, $query_path) = @_;
    my $dpath = Data::DPath::Path->new( path => $query_path );
    my @result = $dpath->match($input_pl);
    say $query_path;
    say scalar @result ? 'match' : 'no match';
}
perl dpath.pl 
/foo[value eq 'aaa\[bbb/ccc\]ddd']
no match
/foo[value eq 'aaa[bbb/ccc]ddd']
no match
/foo[value eq "aaa\[bbb/ccc\]ddd"]
match

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions