SYNOPSIS use Text::Table::Any; my $rows = [ # header row ['Name', 'Rank', 'Serial'], # rows ['alice', 'pvt', '123456'], ['bob', 'cpl', '98765321'], ['carol', 'brig gen', '8745'], ]; print Text::Table::Any::table(rows => $rows, header_row => 1, backend => 'Text::Table::Tiny'); DESCRIPTION This module provides a single function, table, which formats a two-dimensional array of data as text table, using one of several available backends. The interface is modelled after Text::Table::Tiny (0.3); Text::Table::Tiny also happens to be the default backend. The example shown in the SYNOPSIS generates the following table: +-------+----------+----------+ | Name | Rank | Serial | | alice | pvt | 123456 | | bob | cpl | 98765321 | | carol | brig gen | 8745 | +-------+----------+----------+ FUNCTIONS table(%params) => str OPTIONS The table function understands these arguments, which are passed as a hash. * rows (aoaos) Required. Takes an array reference which should contain one or more rows of data, where each row is an array reference. * backend (str, default Text::Table::Tiny) Optional. Pick a backend module. Available backends: * Text::Table::Tiny * Text::Table::Org * Text::Table::CSV * Text::ANSITable * Text::ASCIITable * Text::FormatTable * Text::MarkdownTable * Text::Table * Text::TabularDisplay * header_row (bool, default 0) Optional. If given a true value, the first row in the data will be interpreted as a header row, and separated visually from the rest of the table (e.g. with a ruled line). But some backends won't display differently. SEE ALSO Bencher::Scenario::TextTableModules