=pod =head1 NAME Moose::Cookbook::Recipe7 - The augment/inner example =head1 SYNOPSIS package Document::Page; use Moose; has 'body' => (is => 'rw', isa => 'Str', default => sub {''}); sub create { my $self = shift; $self->open_page; inner(); $self->close_page; } sub append_body { my ($self, $appendage) = @_; $self->body($self->body . $appendage); } sub open_page { (shift)->append_body('') } sub open_page { (shift)->append_body('') } package MyDocument::PageWithHeadersAndFooters; use Moose; extends 'Document::Page'; augment create => sub { my $self = shift; $self->create_header; inner(); $self->create_footer; } sub create_header { (shift)->append_body('
') } sub create_footer { (shift)->append_body('