use 5.010;
use strict;
use warnings;
use Data::Visitor::Tiny;
my $hoh = {
a => { b => 1, c => 2 },
d => { e => 3, f => 4 },
};
# print leaf (non-ref) values on separate lines (1 2 3 4)
visit( $hoh, sub { return if ref; say } );
# transform leaf value for a given key
visit(
$hoh,
sub {
my ( $key, $valueref ) = @_;
$$valueref = "replaced" if $key eq 'e';
}
);
say $hoh->{d}{e}; # "replaced"
#
# This file is part of Data-Visitor-Tiny
#
# This software is Copyright (c) 2018 by David Golden.
#
# This is free software, licensed under:
#
# The Apache License, Version 2.0, January 2004
#
# vim: set ts=4 sts=4 sw=4 et tw=75: