Data-Path-XS
============

Fast XS module for path-based access to nested Perl data structures.

SYNOPSIS

    use Data::Path::XS qw(path_get path_set path_delete path_exists);

    my $data = { foo => { bar => [1, 2, 3] } };

    path_get($data, '/foo/bar/1');        # 2
    path_set($data, '/foo/bar/1', 42);    # sets to 42
    path_exists($data, '/foo/baz');       # 0
    path_delete($data, '/foo/bar/0');     # removes first element

    # Keywords API - near-native performance
    use Data::Path::XS ':keywords';

    my $val = pathget $data, "/foo/bar/1";
    pathset $data, "/foo/bar/1", 99;

DESCRIPTION

Minimal XS module for fast access to deeply nested Perl data structures
using slash-separated paths. Provides four APIs optimized for different
use cases:

  * Keywords API - Near-native performance via compile-time optimization
  * String API (path_*) - Best general-purpose performance
  * Array API (patha_*) - When path components are already parsed
  * Compiled API (pathc_*) - Maximum speed for repeated access patterns

PERFORMANCE

  * 10-25x faster than pure Perl for deep paths
  * Competitive with or faster than native Perl hash/array access
  * Missing key detection is 3-5x faster than native (early termination)

INSTALLATION

    perl Makefile.PL
    make
    make test
    make install

DEPENDENCIES

  * Perl 5.26 or later
  * XS::Parse::Keyword 0.40 or later

LICENSE

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