Acme-CPANModules-TextTable
view release on metacpan or search on metacpan
NAME
Acme::CPANModules::TextTable - List of modules that generate text tables
VERSION
This document describes version 0.016 of Acme::CPANModules::TextTable
(from Perl distribution Acme-CPANModules-TextTable), released on
2023-10-31.
SYNOPSIS
To run benchmark with default option:
% bencher --cpanmodules-module TextTable
To run module startup overhead benchmark:
% bencher --module-startup --cpanmodules-module TextTable
For more options (dump scenario, list/include/exclude/add participants,
list/include/exclude/add datasets, etc), see bencher or run "bencher
--help".
DESCRIPTION
Currently excluded from this list are:
* Text::SimpleTable::AutoWidth (wrapper to Text::SimpleTable);
* Text::ASCIITable::EasyTable (wrapper to Text::ASCIITable);
ACME::CPANMODULES ENTRIES
Text::Table::Any
Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>
This is a frontend for many text table modules as backends. The
interface is dead simple, following Text::Table::Tiny. The main
drawback is that it currently does not allow passing (some, any)
options to each backend.
Text::SimpleTable
Author: MRAMBERG <https://metacpan.org/author/MRAMBERG>
As its name implies, a simple table-generating module with minimal
documentation and a few choices or border characters. You have to
set the width of all columns manually.
Text::UnicodeBox::Table
Author: EWATERS <https://metacpan.org/author/EWATERS>
The main feature of this module is the various border style it
provides drawn using Unicode box-drawing characters. It allows
per-row style. The rendering speed is particularly slow compared to
other modules.
Text::Table::Manifold
Author: RSAVAGE <https://metacpan.org/author/RSAVAGE>
Two main features of this module is per-column aligning and wide
character support. This module, aside from doing its rendering, can
also be told to pass rendering to HTML, CSV, or other text table
module like Text::UnicodeBox::Table); so in this way it is similar
to Text::Table::Any.
Text::ANSITable
Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>
This 2013 project was my take in creating a text table module that
can handle color, multiline text, wide characters. I also threw in
various formatting options, e.g. per-column/row/cell
align/valign/pad/vpad, conditional formatting, and so on. I even
added a couple of features I never used: hiding rows and specifying
columns to display which can be in different order from the original
specified columns or can contain the same original columns multiple
times. I think this module offers the most formatting options on
CPAN.
In early 2021, I needed colspan/rowspan and I implemented this in a
new module: Text::Table::Span (later renamed to Text::Table::More).
I plan to add this feature too to Text::ANSITable, but in the
meantime I'm also adding more formatting options which I need to
Text::Table::More.
Text::ASCIITable
Author: LUNATIC <https://metacpan.org/author/LUNATIC>
Text::FormatTable
Author: TREY <https://metacpan.org/author/TREY>
Text::MarkdownTable
Author: VOJ <https://metacpan.org/author/VOJ>
Text::Table
Author: SHLOMIF <https://metacpan.org/author/SHLOMIF>
Text::Table::Tiny
Author: NEILB <https://metacpan.org/author/NEILB>
The simple and tiny table-generating module which I liked back in
2012 (v0.03). It employs an sprintf() trick to generate a single
row. This module started my personal experiments creating other
table-generating modules (at last count I've created no fewer than
15 of them!).
Text::Table::TinyBorderStyle
Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>
Text::Table::More
Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>
A module I wrote in early 2021. Main distinguishing feature is
support for rowspan/clospan. I plan to add more features to this
module on an as-needed basic. This module is now preferred to
Text::ANSITable, although currently it does not offer nearly as many
formatting options as Text::ANSITable.
Text::Table::Sprintf
Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>
A performant (see benchmark result) and lightweight (a page of code,
no use of modules at all), but with minimal extra features.
Text::Table::TinyColor
Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>
Text::Table::TinyColorWide
Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>
Text::Table::TinyWide
Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>
Text::Table::Org
Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>
Text::Table::CSV
Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>
Text::Table::HTML
Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>
Text::Table::HTML::DataTables
Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>
Text::TabularDisplay
Author: DARREN <https://metacpan.org/author/DARREN>
ACME::CPANMODULES FEATURE COMPARISON MATRIX
+-------------------------------+----------------+------------------+---------------+--------------+----------------+-----------------+-------------+-------------------+------------------+---------------------+--------------+------------+-------...
| module | align_cell *1) | align_column *2) | align_row *3) | box_char *4) | color_data *5) | color_theme *6) | colspan *7) | custom_border *8) | custom_color *9) | multiline_data *10) | rowspan *11) | speed *12) | valign...
+-------------------------------+----------------+------------------+---------------+--------------+----------------+-----------------+-------------+-------------------+------------------+---------------------+--------------+------------+-------...
| Text::Table::Any | N/A *22) | N/A *22) | N/A *22) | N/A *22) | N/A *22) | N/A *22) | N/A *22) | N/A *22) | N/A *22) | N/A *22) | N/A *22) | N/A *22) | N/A *2...
| Text::SimpleTable | no | no | no | no | no | no | no | yes *23) | no | no | no | fast *24) | no ...
| Text::UnicodeBox::Table | no | yes | N/A | no | yes | no | no | yes | no | no | no | slow | N/A ...
| Text::Table::Manifold | no | yes | N/A | N/A | yes | no | no | no *25) | no | no | no | N/A | N/A ...
| Text::ANSITable | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | no | slow | yes ...
| Text::ASCIITable | N/A | N/A | N/A | no | no | N/A | N/A | N/A | N/A | yes | N/A | N/A | N/A ...
| Text::FormatTable | N/A | N/A | N/A | no | no | N/A | N/A | N/A | N/A | yes | N/A | N/A | N/A ...
| Text::MarkdownTable | N/A | N/A | N/A | no | no | N/A | N/A | N/A | N/A | no *26) | N/A | N/A | N/A ...
| Text::Table | N/A | N/A | N/A | N/A *27) | no | N/A | N/A | N/A | N/A | yes | N/A | N/A | N/A ...
| Text::Table::Tiny | N/A | N/A | N/A | yes | yes | N/A | N/A | N/A | N/A | no | N/A | N/A | N/A ...
| Text::Table::TinyBorderStyle | N/A | N/A | N/A | yes | no | N/A | N/A | N/A | N/A | no | N/A | N/A | N/A ...
| Text::Table::More | yes | yes | yes | yes | yes | no | yes | yes | no | yes | yes | slow | yes ...
| Text::Table::Sprintf | N/A | N/A | N/A | no | no | N/A | N/A | N/A | N/A | no | N/A | fast *28) | N/A ...
| Text::Table::TinyColor | N/A | N/A | N/A | no | yes | N/A | N/A | N/A | N/A | no | N/A | N/A | N/A ...
| Text::Table::TinyColorWide | N/A | N/A | N/A | no | yes | N/A | N/A | N/A | N/A | no | N/A | N/A | N/A ...
| Text::Table::TinyWide | N/A | N/A | N/A | no | no | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A ...
| Text::Table::Org | N/A | N/A | N/A | no | no | N/A | N/A | N/A | N/A | no | N/A | N/A | N/A ...
| Text::Table::CSV | N/A | N/A | N/A | N/A *29) | no | N/A | N/A | N/A | N/A | yes *30) | N/A | N/A | N/A ...
| Text::Table::HTML | N/A | N/A | N/A | no | no *31) | N/A | N/A | N/A | N/A | yes | N/A | N/A | N/A ...
| Text::Table::HTML::DataTables | N/A | N/A | N/A | no | no *31) | N/A | N/A | N/A | N/A | yes | N/A | N/A | N/A ...
| Text::TabularDisplay | N/A | N/A | N/A | N/A *29) | no | N/A | N/A | N/A | N/A | yes | N/A | N/A | N/A ...
+-------------------------------+----------------+------------------+---------------+--------------+----------------+-----------------+-------------+-------------------+------------------+---------------------+--------------+------------+-------...
Notes:
1. align_cell: Whether module supports aligning text horizontally in
individual cells (left/right/middle)
2. align_column: Whether module supports aligning text horizontally in a
column (left/right/middle)
3. align_row: Whether module supports aligning text horizontally in a
row (left/right/middle)
or directly:
% perl -MAcme::CPANModules::TextTable -E'say $_->{module} for @{ $Acme::CPANModules::TextTable::LIST->{entries} }' | cpanm -n
This Acme::CPANModules module contains benchmark instructions. You can
run a benchmark for some/all the modules listed in this
Acme::CPANModules module using the bencher CLI (from Bencher
distribution):
% bencher --cpanmodules-module TextTable
This Acme::CPANModules module also helps lcpan produce a more meaningful
result for "lcpan related-mods" command when it comes to finding related
modules for the modules listed in this Acme::CPANModules module. See
App::lcpan::Cmd::related_mods for more details on how "related modules"
are found.
HOMEPAGE
Please visit the project's homepage at
<https://metacpan.org/release/Acme-CPANModules-TextTable>.
SOURCE
Source repository is at
<https://github.com/perlancar/perl-Acme-CPANModules-TextTable>.
SEE ALSO
Related lists: Acme::CPANModules::HTMLTable,
Acme::CPANModules::BrowsingTableInteractively.
Acme::CPANModules - about the Acme::CPANModules namespace
cpanmodules - CLI tool to let you browse/view the lists
AUTHOR
perlancar <perlancar@cpan.org>
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,
Pod::Weaver::PluginBundle::Author::PERLANCAR, and sometimes one or two
other Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps
required beyond that are considered a bug and can be reported to me.
COPYRIGHT AND LICENSE
This software is copyright (c) 2023, 2021, 2020, 2019 by perlancar
<perlancar@cpan.org>.
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
<https://rt.cpan.org/Public/Dist/Display.html?Name=Acme-CPANModules-Text
Table>
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.
( run in 0.768 second using v1.01-cache-2.11-cpan-e1769b4cff6 )