MsOffice-Word-Surgeon
view release on metacpan or search on metacpan
lib/MsOffice/Word/Surgeon.pm view on Meta::CPAN
my $DocxSource = union([qw/Str FileHandle/]);
# how to access the document
has 'docx' => (is => 'ro', isa => $DocxSource); # filename or filehandle, or ..
has_lazy 'zip' => (is => 'ro', isa => 'Archive::Zip'); # .. an already opened zip archive
# syntax to show embedded fields -- used by PackagePart::replace_field
has 'show_embedded_field' => (is => 'ro', isa => 'Str', default => '{%s}');
# inner attributes lazily constructed by the module
has_inner 'parts' => (is => 'ro', isa => 'HashRef[MsOffice::Word::Surgeon::PackagePart]',
traits => ['Hash'], handles => {part => 'get'});
has_inner 'document' => (is => 'ro', isa => 'MsOffice::Word::Surgeon::PackagePart',
handles => [qw/contents original_contents indented_contents plain_text replace/]);
# Note: this attribute is equivalent to $self->part('document'); made into an attribute
# for convenience and for automatic delegation of methods through the 'handles' declaration
# just a slot for internal storage
has 'next_rev_id' => (is => 'bare', isa => 'Num', default => 1, init_arg => undef);
# used by the revision() method for creating *::Revision objects -- each instance
lib/MsOffice/Word/Surgeon/PackagePart.pm view on Meta::CPAN
#======================================================================
# ATTRIBUTES
#======================================================================
# attributes passed to the constructor
has 'surgeon' => (is => 'ro', isa => 'MsOffice::Word::Surgeon', required => 1, weak_ref => 1);
has 'part_name' => (is => 'ro', isa => 'Str', required => 1);
# attributes constructed by the module -- not received through the constructor
has_inner 'contents' => (is => 'rw', isa => 'Str', trigger => \&_on_new_contents);
has_inner 'runs' => (is => 'ro', isa => 'ArrayRef', clearer => 'clear_runs');
has_inner 'relationships' => (is => 'ro', isa => 'ArrayRef');
has_inner 'images' => (is => 'ro', isa => 'HashRef');
has 'contents_has_changed' => (is => 'bare', isa => 'Bool', default => 0);
has 'was_cleaned_up' => (is => 'bare', isa => 'Bool', default => 0);
#======================================================================
# GLOBAL VARIABLES
#======================================================================
# Various regexes for removing uninteresting XML information
my %noise_reduction_regexes = (
( run in 0.616 second using v1.01-cache-2.11-cpan-5f2e87ce722 )