A survey of table rendering packages

So far I've found:

o Any::Renderer
o Data::Formatter::Text
o Data::Tab
o Data::Table
o Data::Tabulate
o Gapp
o HTML::Table
o HTML::Tabulate
o LaTeX::Table
o PDF::Table
o PDF::TableX
o PDF::Report::Table
o Table::Simple
o Term::TablePrint
o Text::ANSITable
o Text::ASCIITable
o Text::CSV
o Text::FormatTable
o Text::MarkdownTable
o Text::SimpleTable
o Text::Table
o Text::Table::Tiny
o Text::TabularDisplay
o Text::Tabulate
o Text::UnicodeBox::Table
o Text::UnicodeTable::Simple
o Tie::Array::CSV

Any others?

I'm also aware of Data::Serializer, and that there are many more such modules, but here I'm just interested in table-oriented ones.

$many x $thanx to all who replied here or via email.


If Text::CSV counts, you might also be interested in Tie::Array::CSV (my own). Then again, I'm not sure I would count it.

  • Text::FormatTable
  • Text::SimpleTable
  • Text::Table::Tiny
  • Text::ANSITable
  • Table::Simple
  • Text::UnicodeTable::Simple

Text::UnicodeBox::Table originated at Shutterstock a few years ago and is used in the Perl-based MySQL command-line client App::AltSQL. I’ve only personally used it as a user of altsql, but it works well for that. It doesn’t always use the correct column width for full-width or zero-width characters, but I doubt that most of the CPAN solutions do.

Tickit has a table rendering widget as well (and it should support fullwidth/halfwidth chars happily enough, let me know if you find input it doesn't render correctly!):


(not much use unless you're already using https://metacpan.org/pod/Tickit of course)

There's my own Data::Dumper::Table though it's a pretty thin wrapper around Text::Table.


Leave a comment

About Ron Savage

user-pic I try to write all code in Perl, but find I end up writing in bash, CSS, HTML, JS, and SQL, and doing database design, just to get anything done...