---
name: "Data::DPath::Path"
section: "3pm"
platform: "linux"
package: "libdata-dpath-perl"
version: "0.60-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Data::DPath::Path"
---

# Data::DPath::Path(3pm)

Abstraction for a DPath

## NAME

Data::DPath::Path - Abstraction for a DPath

## ABOUT

Take a string description, parse it, provide frontend methods.

## PUBLIC METHODS

### new ( %args )

Constructor; creates instance.

Args:

- give\_references

  Default 0. If set to true value then results are references to the matched points in the data structure.

### match( $data )

Returns an array of all values in `$data` that match the Path object.

### matchr( $data )

Returns an array ref of all values in `$data` that match the Path object.

## INTERNAL METHODS

### op\_match( $self, $data )

This sub/method is bound as the overloading function for `"~~"`.

### quoted

Checks whether a path part starts with quotes.

### unquote

Removes surrounding quotes.

### unescape

Converts backslashed characters into their non-backslashed form.

### \_build\_\_steps

This method is essentially the DPath parser as it tokenizes the path into single steps whose later execution is the base functionality of the whole DPath module.

### path

Attribute / accessor.

### \_steps

Attribute / accessor.

### give\_references

Attribute / accessor.

## aliased classes

That's just to make Pod::Coverage happy which does not handle aliased modules.

### Context

### Point

### Step

## AUTHOR

Steffen Schwigon \<ss5@renormalist.net\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2024 by Steffen Schwigon.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
