PPIx::Utilities::Node man page on Fedora

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

PPIx::Utilities::Node(User Contributed Perl DocumentatPPIx::Utilities::Node(3)

NAME
       PPIx::Utilities::Node - Extensions to PPI::Node.

VERSION
       This document describes PPIx::Utilities::Node version 1.1.0.

SYNOPSIS
	   use PPIx::Utilities::Node qw< split_ppi_node_by_namespace >;

	   my $dom = PPI::Document->new("...");

	   while (
	       my ($namespace, $sub_doms) = each split_ppi_node_by_namespace($dom)
	   ) {
	       foreach my $sub_dom ( @{$sub_doms} ) {
		   ...
	       }
	   }

DESCRIPTION
       This is a collection of functions for dealing with PPI::Nodes.

INTERFACE
       Nothing is exported by default.

   split_ppi_node_by_namespace($node)
       Returns the sub-trees for each namespace in the node as a reference to
       a hash of references to arrays of PPI::Nodes.  Say we've got the
       following code:

	   #!perl

	   my $x = blah();

	   package Foo;

	   my $y = blah_blah();

	   {
	       say 'Whee!';

	       package Bar;

	       something();
	   }

	   thingy();

	   package Baz;

	   da_da_da();

	   package Foo;

	   foreach ( blrfl() ) {
	       ...
	   }

       Calling this function on a PPI::Document for the above returns a value
       that looks like this, using multi-line string literals for the actual
       code parts instead of PPI trees to make this easier to read:

	   {
	       main    => [
		   q<
		       #!perl

		       my $x = blah();
		   >,
	       ],
	       Foo     => [
		   q<
		       package Foo;

		       my $y = blah_blah();

		       {
			   say 'Whee!';

		       }

		       thingy();
		   >,
		   q<
		       package Foo;

		       foreach ( blrfl() ) {
			   ...
		       }
		   >,
	       ],
	       Bar     => [
		   q<
		       package Bar;

		       something();
		   >,
	       ],
	       Baz     => [
		   q<
		       package Baz;

		       da_da_da();
		   >,
	       ],
	   }

       Note that the return value contains copies of the original nodes, and
       not the original nodes themselves due to the need to handle namespaces
       that are not file-scoped.  (Notice how the first element for "Foo"
       above differs from the original code.)

BUGS AND LIMITATIONS
       Please report any bugs or feature requests to
       "bug-ppix-utilities@rt.cpan.org", or through the web interface at
       <http://rt.cpan.org>.

AUTHOR
       Elliot Shank  "<perl@galumph.com>"

COPYRIGHT
       Copyright (c)2009-2010, Elliot Shank "<perl@galumph.com>".

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.  The full text of this license can
       be found in the LICENSE file included with this module.

perl v5.14.1			  2010-12-02	      PPIx::Utilities::Node(3)
[top]

List of man pages available for Fedora

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