Data::Visitor::Callback(3)

NAME
Data::Visitor::Callback - A Data::Visitor with callbacks.

SYNOPSIS
        use Data::Visitor::Callback;

        my $v = Data::Visitor::Callback->new(
                value => sub { ... },
                array => sub { ... },
        );

        $v->visit( $some_perl_value );

DESCRIPTION
This is a Data::Visitor subclass that lets you invoke callbacks instead of needing to subclass yourself.

METHODS

new %opts, %callbacks
    Construct a new visitor.

    The options supported are:

    ignore_return_values
        When this is true (off by default) the return values from the callbacks are ignored, thus disabling the fmapping behavior as documented in Data::Visitor.

        This is useful when you want to modify $_ directly

CALLBACKS
Use these keys for the corresponding callbacks.

The callback is in the form:

        sub {
                my ( $visitor, $data ) = @_;

                # or you can use $_, it's aliased

                return $data; # or modified data
        }

Within the callback $_ is aliased to the data, and this is also passed in the parameter list.

visit
    Called for all values

value
    Called for non objects, non container (hash, array, glob or scalar ref) values.

ref_value
    Called after "value", for references to regexes, globs and code.

plain_value
    Called after "value" for non references.

object
    Called for blessed objects.

Some::Class
    You can use any class name as a clalback. This is clled only after the "object" callback.

array
    Called for array references.

hash
    Called for hash references.

glob
    Called for glob references.

scalar
    Called for scalar references.

AUTHOR
Yuval Kogman <nothingmuch@woobling.org>

COPYRIGHT & LICENSE
        Copyright (c) 2006 Yuval Kogman. All rights reserved
        This program is free software; you can redistribute
        it and/or modify it under the same terms as Perl itself.