Acme-CPANModules-TextTable

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

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)

README  view on Meta::CPAN

    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 )