---
name: "PPI::Document::Fragment"
section: "3pm"
platform: "linux"
package: "perl-ppi"
version: "1.291-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/PPI::Document::Fragment"
---

# PPI::Document::Fragment(3pm)

A fragment of a Perl Document

## NAME

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

## DESCRIPTION

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.

## METHODS

### index\_locations

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.

## TO DO

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.

## SUPPORT

See the support section in the main module.

## AUTHOR

Adam Kennedy \<adamk@cpan.org\>

## COPYRIGHT

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.
