NAME
     Indent::Form - A perl module for form indenting.

SYNOPSIS
     use Indent::Form;

     my $indent = Indent::Form->new(%parametes);
     $indent->indent($data_ar, $actual_indent, $non_indent_flag);

METHODS
    "new(%params)"
             Constructor.

            *       "ansi"

                     Use with ANSI sequences.
                     Default value is 0.

            *       "align"

                     Align of left side of form.
                     Default value is 'right'.

            *       "fill_character"

                     Fill character for left side of form.
                     Default value is ' '.

            *       "form_separator"

                     Form separator.
                     Default value of 'form_separator' is ': '.

            *       "line_size"

                     Line size.
                     Default value of 'line_size' is 79 chars.

            *       "next_indent"

                     Next indent.
                     Default value of 'next_indent' isn't define.

            *       "output_separator"

                     Output separator.
                     Default value of 'output_separator' is new line (\n).

    "indent($data_ar[, $actual_indent, $non_indent_flag])"
             Indent data. Returns string.

             Arguments:
             $data_ar - Reference to data array ([['key' => 'value'], [..]]);
             $actual_indent - String to actual indent.
             $non_indent_flag - Flag, than says no-indent.

ERRORS
     new():
             'align' parameter must be a 'left' or 'right' string.
             'line_size' parameter must be a number.
             Cannot load 'Text::ANSI::Util' module.
             From Class::Utils:
                     Unknown parameter '%s'.

EXAMPLE1
     use strict;
     use warnings;

     use Indent::Form;

     # Indent object.
     my $indent = Indent::Form->new;

     # Input data.
     my $input_ar = [
             ['Filename', 'foo.bar'],
             ['Size', '1456kB'],
             ['Description', 'File'],
             ['Author', 'skim.cz'],
     ];

     # Indent.
     print $indent->indent($input_ar)."\n";

     # Output:
     #    Filename: foo.bar
     #        Size: 1456kB
     # Description: File
     #      Author: skim.cz

EXAMPLE2
     use strict;
     use warnings;

     use Indent::Form;

     # Indent object.
     my $indent = Indent::Form->new(
             'align' => 'left',
     );

     # Input data.
     my $input_ar = [
             ['Filename', 'foo.bar'],
             ['Size', '1456kB'],
             ['Description', 'File'],
             ['Author', 'skim.cz'],
     ];

     # Indent.
     print $indent->indent($input_ar)."\n";

     # Output:
     # Filename   : foo.bar
     # Size       : 1456kB
     # Description: File
     # Author     : skim.cz

EXAMPLE3
     use strict;
     use warnings;

     use Indent::Form;

     # Indent object.
     my $indent = Indent::Form->new(
             'align' => 'left',
             'fill_character' => '.',
     );

     # Input data.
     my $input_ar = [
             ['Filename', 'foo.bar'],
             ['Size', '1456kB'],
             ['Description', 'File'],
             ['Author', 'skim.cz'],
     ];

     # Indent.
     print $indent->indent($input_ar)."\n";

     # Output:
     # Filename...: foo.bar
     # Size.......: 1456kB
     # Description: File
     # Author.....: skim.cz

EXAMPLE4
     use strict;
     use warnings;

     use Encode qw(decode_utf8 encode_utf8);
     use Indent::Form;

     # Indent object.
     my $indent = Indent::Form->new;

     # Input data.
     my $input_ar = [
             ['Filename', 'foo.bar'],
             ['Size', '1456kB'],
             ['Description', 'File'],
             ['Author', 'skim.cz'],
     ];

     # Indent.
     print encode_utf8($indent->indent($input_ar, decode_utf8('|↔| ')))."\n";

     # Output:
     # |↔|    Filename: foo.bar
     # |↔|        Size: 1456kB
     # |↔| Description: File
     # |↔|      Author: skim.cz

DEPENDENCIES
    Class::Utils, English, Error::Pure, Indent::Word, List::MoreUtils,
    Readonly.

    Text::ANSI::Util for situation with 'ansi' => 1.

SEE ALSO
    Indent
             Class for indent handling.

    Indent::Block
             Class for block indenting.

    Indent::Data
             Class for data indenting.

    Indent::String
             Class for text indenting.

    Indent::Utils
             Utilities for Indent classes.

    Indent::Word
             Class for word indenting.

REPOSITORY
    <https://github.com/michal-josef-spacek/Indent-Form>

AUTHOR
    Michal Josef Špaček <mailto:skim@cpan.org>

    <http://skim.cz>

LICENSE AND COPYRIGHT
     © 2011-2020 Michal Josef Špaček
     Artistic License
     BSD 2-Clause License

VERSION
    0.03