Data::Visitor::Callback - phpMan

Command: man perldoc info search(apropos)  


Sections
NAME VERSION SYNOPSIS DESCRIPTION METHODS CALLBACKS SUPPORT AUTHORS COPYRIGHT AND LICENCE
NAME
    Data::Visitor::Callback - A Data::Visitor with callbacks.

VERSION
    version 0.31

SYNOPSIS
            use Data::Visitor::Callback;

            my $v = Data::Visitor::Callback->new(
                    # you can provide callbacks
                    # $_ will contain the visited value

                    value => sub { ... },
                    array => sub { ... },


                    # you can also delegate to method names
                    # this specific example will force traversal on objects, by using the
                    # 'visit_ref' callback which normally traverse unblessed references

                    object => "visit_ref",


                    # you can also use class names as callbacks
                    # the callback will be invoked on all objects which inherit that class

                    'Some::Class' => sub {
                            my ( $v, $obj ) = @_; # $v is the visitor

                            ...
                    },
            );

            $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

        tied_as_objects
            Whether or not to visit the "tied" in perlfunc of a tied
            structure instead of pretending the structure is just a normal
            one.

            See "visit_tied" in Data::Visitor.

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.

    Any method can also be used as a callback:

            object => "visit_ref", # visit objects anyway

    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.

        Since "visit_object" in Data::Visitor will not recurse downwards
        unless you delegate to "visit_ref", you can specify "visit_ref" as
        the callback for "object" in order to enter objects.

        It is recommended that you specify the classes (or base classes) you
        want though, instead of just visiting any object forcefully.

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

        If the object "isa" the class then the callback will fire.

        These callbacks are called from least derived to most derived by
        comparing the classes' "isa" at construction time.

    object_no_class
        Called for every object that did not have a class callback.

    object_final
        The last callback called for objects, useful if you want to post
        process the output of any class callbacks.

    array
        Called for array references.

    hash
        Called for hash references.

    glob
        Called for glob references.

    scalar
        Called for scalar references.

    tied
        Called on the return value of "tied" for all tied containers. Also
        passes in the variable as the second argument.

    seen
        Called for a reference value encountered a second time.

        Passes in the result mapping as the second argument.

SUPPORT
    Bugs may be submitted through the RT bug tracker
    <https://rt.cpan.org/Public/Dist/Display.html?Name=Data-Visitor> (or
    bug-Data-Visitor AT rt.org <mailto:bug-Data-Visitor AT rt.org>).

AUTHORS
    *   Yuval Kogman <nothingmuch AT woobling.org>

    *   Marcel GrĂ¼nauer <marcel AT cpan.org>

COPYRIGHT AND LICENCE
    This software is copyright (c) 2020 by Yuval Kogman.

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


Generated by phpMan Author: Che Dong On Apache Under GNU General Public License - MarkDown Format
2026-05-23 05:17 @216.73.217.24 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top