Data-Leaf-Walker SYNOPSIS $data = { a => 'hash', or => [ 'array', 'ref' ], with => { arbitrary => 'nesting' }, }; $walker = Data::Leaf::Walker->new( $data ); while ( my ( $k, $v ) = $walker->each ) { print "@{ $k } : $v\n"; } ## output might be ## a : hash ## or 0 : array ## or 1 : ref ## with arbitrary : nesting DESCRIPTION C provides simplified access to nested data structures. It operates on key paths in place of keys. A key path is a list of HASH and ARRAY indexes which define a path through your data structure. For example, in the following data structure, the value corresponding to key path C<[ 0, 'foo' ]> is 'bar': $aoh = [ { foo => 'bar' } ]; You can get and set that value like so: $walker = Data::Leaf::Walker->new( $aoh ); ## create the walker $bar = $walker->fetch( [ 0, 'foo' ] ); ## get the value 'bar' $walker->store( [ 0, 'foo'], 'baz' ); ## change value to 'baz' INSTALLATION To install this module, run the following commands: perl Build.PL ./Build ./Build test ./Build install Alternatively, to install with ExtUtils::MakeMaker, you can use the following commands: perl Makefile.PL make make test make install SUPPORT AND DOCUMENTATION After installing, you can find documentation for this module with the perldoc command. perldoc Data::Leaf::Walker You can also look for information at: RT, CPAN's request tracker http://rt.cpan.org/NoAuth/Bugs.html?Dist=Data-Leaf-Walker AnnoCPAN, Annotated CPAN documentation http://annocpan.org/dist/Data-Leaf-Walker CPAN Ratings http://cpanratings.perl.org/d/Data-Leaf-Walker Search CPAN http://search.cpan.org/dist/Data-Leaf-Walker/ COPYRIGHT AND LICENCE Copyright (C) 2009 Dan Boorstein This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information.