NAME Tags::HTML - Tags helper abstract class. SYNOPSIS use Tags::HTML; my $obj = Tags::HTML->new(%params); $obj->cleanup(@params); $obj->init(@params); $obj->process; $obj->process_css; METHODS "new" my $obj = Tags::HTML->new(%params); Constructor. Returns instance of class. * "css" 'CSS::Struct::Output' object for process_css processing. Default value is undef. * "no_css" No CSS support flag. If this flag is set to 1, process_css() returns undef. Default value is 0. * "tags" 'Tags::Output' object for process processing. Default value is undef. "cleanup" $obj->cleanup(@params); Process cleanup after page run. Returns undef. "init" $obj->init(@params); Process initialization before page run. Returns undef. "process" $obj->process; Process Tags structure. Returns undef. "process_css" $obj->process_css; Process CSS::Struct structure. Returns undef. ERRORS new(): From Class::Utils::set_params(): Unknown parameter '%s'. Parameter 'css' must be a 'CSS::Struct::Output::*' class. Parameter 'tags' must be a 'Tags::Output::*' class. process(): Need to be implemented in inherited class in _process() method. Parameter 'tags' isn't defined. process_css(): Need to be implemented in inherited class in _process_css() method. Parameter 'css' isn't defined. EXAMPLE1 use strict; use warnings; package Foo; use base qw(Tags::HTML); sub new { my ($class, @params) = @_; # No CSS support. push @params, 'no_css', 1; my $self = $class->SUPER::new(@params); # Object. return $self; } sub _cleanup { my $self = shift; delete $self->{'_data'}; return; } sub _init { my ($self, @variables) = @_; $self->{'_data'} = \@variables; return; } sub _process { my $self = shift; $self->{'tags'}->put( ['b', 'div'], ); foreach my $variable (@{$self->{'_data'}}) { $self->{'tags'}->put( ['b', 'div'], ['d', $variable], ['e', 'div'], ); } $self->{'tags'}->put( ['e', 'div'], ); return; } package main; use Tags::Output::Indent; # Object. my $tags = Tags::Output::Indent->new; my $obj = Foo->new( 'tags' => $tags, ); # Init data. $obj->init('foo', 'bar', 'baz'); # Process. $obj->process; # Print out. print "HTML\n"; print $tags->flush."\n"; # Output: # HTML #