NAME Tags::Output::Indent - Indent class for Tags. SYNOPSIS use Tags::Output::Indent(%params); my $tags = Tags::Output::Indent->new; $tags->put(['b', 'tag']); my @open_tags = $tags->open_tags; $tags->finalize; $tags->flush; $tags->reset; METHODS "new(%params)" Constructor * "attr_callback" Subroutine for output processing of attribute key and value. Input argument is reference to array. Default value is &Tags::Utils::encode_attr_entities. Example is similar as 'data_callback'. * "attr_delimeter" String, that defines attribute delimeter. Default is '"'. Possible is '"' or "'". Example: Prints instead default my $tags = Tags::Output::Indent->new( 'attr_delimeter' => "'", ); $tags->put( ['b', 'tag'], ['a', 'attr', 'val'], ['e', 'tag'], ); $tags->flush; * "auto_flush" Auto flush flag. Default is 0. * "cdata_indent" Flag, that means indent CDATA section. Default value is no-indent (0). * "cdata_callback" Subroutine for output processing of cdata. Input argument is reference to array. Default value is undef. Example is similar as 'data_callback'. * "data_callback" Subroutine for output processing of data. Input argument is reference to array. Default value is &Tags::Utils::encode_char_entities. Example: 'data_callback' => sub { my $data_ar = shift; foreach my $data (@{$data_ar}) { # Some process. $data =~ s/^\s*//ms; } return; } * "line_size" Line size. Default value is 79. * "next_indent" Value of indent, which are added to begin of line. Default value is " ". * "no_simple" Reference to array of tags, that can't by simple. Default is []. Example: That's normal in html pages, web browsers has problem with instead