PPI::Document::File - A Perl Document located in a specific file


PPI::Document::File - A Perl Document located in a specific file


WARNING: This class is experimental, and may change without notice

PPI::Document::File provides a the PPI::Document manpage subclass that represents a Perl document stored in a specific named file.



  my $file = PPI::Document::File->new( 'Module.pm' );

The new constructor works the same as for the regular one, except that the only params allowed is a file name. You cannot create an ``anonymous'' PPI::Document::File object, not can you create an empty one.

Returns a new PPI::Document::File object, or undef on error.


The filename accessor returns the name of the file in which the document is stored.


  # Save to the file we were loaded from
  # Save a copy to somewhere else
  $file->save( 'Module2.pm' );

The save method works similarly to the one in the parent the PPI::Document manpage class, saving a copy of the document to a file.

The difference with this subclass is that if save is not passed any filename, it will save it back to the file it was loaded from.

Note: When saving to a different file, it is considered to be saving a copy and so the value returned by the filename accessor will stay the same, and not change to the new filename.


- May need to overload some methods to forcefully prevent Document objects becoming children of another Node.


See the support section in the main module.


Adam Kennedy <adamk@cpan.org>


Copyright 2001 - 2006 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.

 PPI::Document::File - A Perl Document located in a specific file