SYNOPSIS use Text::Table::Paragraph; my $rows = [ # header row ['name', 'summary', 'description'], # rows ['foo', 'bandung', 'a long description .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... ....'], ['bar', 'jakarta', 'another long description .... .... .... .... .... .... .... .... .... .... .... .... .... .... ....'], ['baz', 'palangkaraya', 'yet another long description .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... ....'], ]; print Text::Table::Paragraph::table(rows => $rows, header_row => 1); DESCRIPTION This module provides a single function, table, which formats a two-dimensional array of data as paragraphs. Each paragraph shows a row of data and columns are shown as name: value lines. Long values by default are wrapped and shown indented in the subsequent lines. The example shown in the SYNOPSIS generates the following table: name: foo summary: bandung description: a long description .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... name: bar summary: jakarta description: another long description .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... name: baz summary: palangkaraya description: yet another long description .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... FUNCTIONS table(%params) => str OPTIONS The table function understands these arguments, which are passed as a hash. * rows (aoaos) Takes an array reference which should contain one or more rows of data, where each row is an array reference. * header_row (bool) If given a true value, the first row in the data will be interpreted as a header row that contains column names. Otherwise, columns will be named: column1, column2, and so on. * wrap (bool, default 1) Whether to wrap long values. * wrap_width (int, default 72) ENVIRONMENT TEXT_TABLE_PARAGRAPH_WRAP => bool Set default for wrap option. TEXT_TABLE_PARAGRAPH_WRAP_WIDTH => int Set default for wrap_width option. SEE ALSO This module is currently basically Text::Table::Tiny 0.03 modified to output paragraphs instead of its original 2D text table format. Text::Table::*, Text::Table::Any See also Bencher::Scenario::TextTableModules.