Scroll to navigation

PPI::Document::Fragment(3pm) User Contributed Perl Documentation PPI::Document::Fragment(3pm)


PPI::Document::Fragment - A fragment of a Perl Document


In some situations you might want to work with a fragment of a larger document. "PPI::Document::Fragment" is a class intended for this purpose. It is functionally almost identical to a normal PPI::Document, except that it is not possible to get line/column positions for the elements within it, and it does not represent a scope.



Unlike when called on a PPI::Document object, you should not be attempting to find locations of things within a PPI::Document::Fragment, and thus any call to the "index_locations" will print a warning and return "undef" instead of attempting to index the locations of the Elements.


Integrate this into the rest of PPI so it has actual practical uses. The most obvious would be to implement arbitrary cut/copy/paste more easily.


See the support section in the main module.


Adam Kennedy <>


Copyright 2001 - 2011 Adam Kennedy.

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

The full text of the license can be found in the LICENSE file included with this module.

2022-07-23 perl v5.34.0