Data::Visitor::Callback man page on Pidora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Pidora logo
[printable version]

Data::Visitor::CallbacUser Contributed Perl DocumentData::Visitor::Callback(3)

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

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 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.

	   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.

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.

perl v5.14.1			  2010-01-02	    Data::Visitor::Callback(3)
[top]

List of man pages available for Pidora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net