Indent::Form - A perl module for form indenting.
use Indent::Form; my $indent = Indent::Form->new(%parametes); my $string = $indent->indent($data_ar, $actual_indent, $non_indent_flag); my @string = $indent->indent($data_ar, $actual_indent, $non_indent_flag);
new
my $indent = Indent::Form->new(%parametes);
Constructor.
Returns instance of object.
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
my $string = $indent->indent($data_ar, $actual_indent, $non_indent_flag); my @string = $indent->indent($data_ar, $actual_indent, $non_indent_flag);
Indent data. Scalar output is controlled by 'output_separator' parameter.
Arguments: $data_ar - Reference to data array ([['key' => 'value'], [..]]); $actual_indent - String to actual indent. $non_indent_flag - Flag, than says no-indent.
Returns string or array of strings in array context.
Output is controlled by env variable NO_COLOR via Term::ANSIColor Perl module. If we set 'ansi' parameter to 1 and env variable NO_COLOR will be 1, output will be without ANSI colors. See https://no-color.org/.
NO_COLOR
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'.
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
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
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
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
use strict; use warnings; use Indent::Form; use Term::ANSIColor; # Indent object. my $indent = Indent::Form->new( 'ansi' => 1, ); # Input data. my $input_ar = [ [ color('cyan').'Filename'.color('reset'), color('bold cyan').'f'.color('reset').'oo.'.color('bold cyan').'b'.color('reset').'ar', ], [ color('cyan').'Size'.color('reset'), '1456kB', ], [ color('cyan').'Description'.color('reset'), color('bold cyan').'F'.color('reset').'ile', ], [ color('cyan').'Author'.color('reset'), 'skim.cz', ], ]; # Indent. print $indent->indent($input_ar)."\n"; # Output (with ANSI colors): # Filename: foo.bar # Size: 1456kB # Description: File # Author: skim.cz
Class::Utils, English, Error::Pure, Indent::Word, List::MoreUtils, Readonly.
Text::ANSI::Util for situation with 'ansi' => 1.
Class for indent handling.
Class for block indenting.
Class for data indenting.
Class for text indenting.
Utilities for Indent classes.
Class for word indenting.
https://github.com/michal-josef-spacek/Indent-Form
Michal Josef Špaček mailto:skim@cpan.org
http://skim.cz
© 2011-2023 Michal Josef Špaček
Artistic License
BSD 2-Clause License
0.08
To install Indent::Form, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Indent::Form
CPAN shell
perl -MCPAN -e shell install Indent::Form
For more information on module installation, please visit the detailed CPAN module installation guide.