# non-standard formatting ######################################################################### # always put footer at the end (assuming order does not matter?) body( header => sub { hgroup( sub { }); }, contents => sub { article( header => sub { }, contents => sub { section( header => sub { }, contents => sub { aside( header => sub { }, contents => sub { }, footer => sub { }, ); }, footer => sub { }, ); section( header => sub { }, contents => sub { }, footer => sub { }, ); aside( header => sub { }, contents => sub { }, footer => sub { }, ); }, footer => sub { }, ); }, footer => sub { address( sub { }); }, ); # alternative ##################################################################################### # remaining super-structure body( header => sub { hgroup( sub { }); }, contents => sub { article( header => sub { }, contents => \&contents1, footer => sub { }, ); }, footer => sub { address( sub { }); }, ); # delegated content sub contents1 { section( header => sub { }, contents => sub { aside( header => sub { }, contents => sub { }, footer => sub { }, ); }, footer => sub { }, ); section( header => sub { }, contents => sub { }, footer => sub { }, ); aside( header => sub { }, contents => sub { }, footer => sub { }, ); }