NAME Text::Table::Any - Generate text table using one of several backends VERSION This document describes version 0.105 of Text::Table::Any (from Perl distribution Text-Table-Any), released on 2021-12-09. 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::More'); 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.03). Text::Table::Sprintf is 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 | +-------+----------+----------+ When using "Text::Table::Org" backend, the result is something like: | Name | Rank | Serial | |-------+----------+----------| | alice | pvt | 123456 | | bob | cpl | 98765321 | | carol | brig gen | 8745 | When using "Text::Table::CSV" backend: "Name","Rank","Serial" "alice","pvt","123456" "bob","cpl","98765321" "carol","brig gen","8745" When using "Text::ANSITable" backend: .-------+----------+----------. | Name | Rank | Serial | +-------+----------+----------+ | alice | pvt | 123456 | | bob | cpl | 98765321 | | carol | brig gen | 8745 | `-------+----------+----------' When using "Text::ASCIITable" backend: .-----------------------------. | Name | Rank | Serial | +-------+----------+----------+ | alice | pvt | 123456 | | bob | cpl | 98765321 | | carol | brig gen | 8745 | '-------+----------+----------' When using "Text::FormatTable" backend: Name |Rank |Serial alice|pvt |123456 bob |cpl |98765321 carol|brig gen|8745 When using "Text::MarkdownTable" backend: | Name | Rank | Serial | |-------|----------|----------| | alice | pvt | 123456 | | bob | cpl | 98765321 | | carol | brig gen | 8745 | When using "Text::Table" backend: Name Rank Serial alice pvt 123456 bob cpl 98765321 carol brig gen 8745 When using "Text::TabularDisplay" backend: +-------+----------+----------+ | Name | Rank | Serial | +-------+----------+----------+ | alice | pvt | 123456 | | bob | cpl | 98765321 | | carol | brig gen | 8745 | +-------+----------+----------+ VARIABLES @BACKENDS List of supported backends. FUNCTIONS table Usage: table(%params) => str Except for the "backend" parameter, the parameters will mostly be passed to the backend, sometimes slightly modified if necessary to achieve the desired effect. If a parameter is not supported by a backend, then it will not be passed to the backend. Known parameters: * backend Optional. Str, default "Text::Table::Sprintf". Pick a backend module. Supported backends: * Term::TablePrint * Text::ANSITable * Text::ASCIITable * Text::FormatTable * Text::MarkdownTable * Text::Table * Text::Table::ASV * Text::Table::CSV * Text::Table::HTML * Text::Table::HTML::DataTables * Text::Table::LTSV * Text::Table::Manifold * Text::Table::More * Text::Table::Org * Text::Table::Paragraph * Text::Table::Sprintf * Text::Table::TickitWidget * Text::Table::Tiny * Text::Table::TinyBorderStyle * Text::Table::TinyColor * Text::Table::TinyColorWide * Text::Table::TinyWide * Text::Table::TSV * Text::Table::XLSX * Text::TabularDisplay * Text::UnicodeBox::Table * rows Required. Aoaos (array of array-of-scalars). Each element in the array is a row of data, where each row is an array reference. * header_row Optional. Bool, default is false. 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. * separate_rows Boolean. Optional. Default is false. If set to true, will draw a separator line after each data row. Not all backends support this. * title Optional. Str. Title of the table. Currently the only backend supporting this is "Text::Table::HTML::DataTables". backends Return list of supported backends. You can also get the list from the "@BACKENDS" package variable. HOMEPAGE Please visit the project's homepage at . SOURCE Source repository is at . SEE ALSO Acme::CPANModules::TextTable AUTHOR perlancar CONTRIBUTING To contribute, you can send patches by email/via RT, or send pull requests on GitHub. Most of the time, you don't need to build the distribution yourself. You can simply modify the code, then test via: % prove -l If you want to build the distribution (e.g. to try to install it locally on your system), you can install Dist::Zilla, Dist::Zilla::PluginBundle::Author::PERLANCAR, and sometimes one or two other Dist::Zilla plugin and/or Pod::Weaver::Plugin. Any additional steps required beyond that are considered a bug and can be reported to me. COPYRIGHT AND LICENSE This software is copyright (c) 2021, 2020, 2019, 2018, 2017, 2016, 2015 by perlancar . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. BUGS Please report any bugs or feature requests on the bugtracker website When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.