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

