Rechercher une page de manuel
Data::Visitor::Callback.3pm
Langue: en
Version: 2008-01-15 (mandriva - 01/05/08)
Section: 3 (Bibliothèques de fonctions)
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
- tied_as_objects
- Whether ot 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 reccomended 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 colled only after the "object" callback.
If the object "isa" the class then the callback will fire.
- 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.
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.
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre