The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

See Also

```perl use Text::ASCIITable; $t = Text::ASCIITable->new({ headingText => 'Basket' });

$t->setCols('Id','Name','Price'); $t->addRow(1,'Dummy product 1',24.4); $t->addRow(2,'Dummy product 2',21.2); $t->addRow(3,'Dummy product 3',12.3); $t->addRowLine(); $t->addRow('','Total',57.9); print $t; .------------------------------. | Basket | +----+-----------------+-------+ | Id | Name | Price | +----+-----------------+-------+ | 1 | Dummy product 1 | 24.4 | | 2 | Dummy product 2 | 21.2 | | 3 | Dummy product 3 | 12.3 | +----+-----------------+-------+ | | Total | 57.9 | '----+-----------------+-------' ```

```perl my @col_titles = ( "Radius\nkm", "Density\ng/cm^3" ); my $tb = Text::Table->new( { is_sep => 1, title => '| ', body => '| ', }, { title => 'Planet', align_title => 'center', }, ( map { ( { is_sep => 1, title => ' | ', body => ' | ', }, { title => $, aligntitle => 'center', }, ) } @col_titles ), { is_sep => 1, title => ' |', body => ' |', }, );

$tb->load( [ "Mercury", 2360, 3.7 ], [ "Venus", 6110, 5.1 ], [ "Earth", 6378, 5.52 ], [ "Jupiter", 71030, 1.3 ], );

my $o = ''; $o .= $tb->rule( q{-}, q{+} ); $o .= $tb->title(); $o .= $tb->rule( q{-}, q{+} ); $o .= $tb->body(); $o .= $tb->rule( q{-}, q{+} ); +---------+--------+---------+ | Planet | Radius | Density | | | km | g/cm^3 | +---------+--------+---------+ | Mercury | 2360 | 3.7 | | Venus | 6110 | 5.1 | | Earth | 6378 | 5.52 | | Jupiter | 71030 | 1.3 | +---------+--------+---------+ ```

perl my $t = Text::TabularDisplay->new(qw(id name phone)); $t->add(1, "Tom Jones", "(666) 555-1212"); $t->add(2, "Barnaby Jones", "(666) 555-1213"); $t->add(3, "Bridget Jones", "(666) 555-1214"); print $t->render; ```` ```` +----+---------------+----------------+ | id | name | phone | +----+---------------+----------------+ | 1 | Tom Jones | (666) 555-1212 | | 2 | Barnaby Jones | (666) 555-1213 | | 3 | Bridget Jones | (666) 555-1214 | +----+---------------+----------------+

```perl my $rows = [ # header row ['Name', 'Rank', 'Serial'], # rows ['alice', 'pvt', '123456'], ['bob', 'cpl', '98765321'], ['carol', 'brig gen', '8745'], ];

separate rows puts lines between rows, header_row says that the first row is headers

print Text::Table::Tiny::table(rows => $rows, separate_rows => 1, header_row => 1); Example in the synopsis: Text::Table::Tiny::table(rows => $rows);

+-------+----------+----------+ | Name | Rank | Serial | | alice | pvt | 123456 | | bob | cpl | 98765321 | | carol | brig gen | 8745 | +-------+----------+----------+

with header_row: Text::Table::Tiny::table(rows => $rows, header_row => 1);

+-------+----------+----------+ | Name | Rank | Serial | +-------+----------+----------+ | alice | pvt | 123456 | | bob | cpl | 98765321 | | carol | brig gen | 8745 | +-------+----------+----------+

with header_row and separate_rows: Text::Table::Tiny::table(rows => $rows, header_row => 1, separate_rows => 1);

+-------+----------+----------+ | Name | Rank | Serial | O=======O==========O==========O | alice | pvt | 123456 | +-------+----------+----------+ | bob | cpl | 98765321 | +-------+----------+----------+ | carol | brig gen | 8745 | +-------+----------+----------+ ```

```perl my $t1 = Text::SimpleTable->new(5, 10); $t1->row('foobarbaz', 'yadayadayada'); print $t1->draw;

my $t2 = Text::SimpleTable->new([5, 'Foo'], [10, 'Bar']); $t2->row('foobarbaz', 'yadayadayada'); $t2->row('barbarbarbarbar', 'yada'); print $t2->draw;

my $t3 = Text::SimpleTable->new([5, 'Foo'], [10, 'Bar']); $t3->row('foobarbaz', 'yadayadayada'); $t3->hr; $t3->row('barbarbarbarbar', 'yada'); print $t3->draw; .-------+------------. | foob- | yadayaday- | | arbaz | ada | '-------+------------'

.-------+------------. | Foo | Bar | +-------+------------+ | foob- | yadayaday- | | arbaz | ada | | barb- | yada | | arba- | | | rbar- | | | bar | | '-------+------------'

.-------+------------. | Foo | Bar | +-------+------------+ | foob- | yadayaday- | | arbaz | ada | +-------+------------+ | barb- | yada | | arba- | | | rbar- | | | bar | | '-------+------------' ```

perl my $table = Text::FormatTable->new('r|l'); $table->head('a', 'b'); $table->rule('='); $table->row('c', 'd'); print $table->render(20); ```

a|b

c|d ```

```perl

create a table object with four columns of varying widths

my $t = Text::SpanningTable->new(10, 20, 15, 25);

enable auto-newline adding

$t->newlines(1);

print a top border

print $t->hr('top');

print a row (with header information)

print $t->row('Column 1', 'Column 2', 'Column 3', 'Column 4');

print a double horizontal rule

print $t->dhr; # also $t->hr('dhr');

print a row of data

print $t->row('one', 'two', 'three', 'four');

print $t->hr;

print another row, with one column that spans all four columns

print $t->row([4, 'Creedance Clearwater Revival']);

print $t->hr;

print a row with the first column normally and another column

spanning the remaining three columns

print $t->row( 'normal column', [3, 'this column spans three columns and also wraps to the next line.'] );

finally, print the bottom border

print $t->hr('bottom'); .----------+------------------+-------------+-----------------------. | Column 1 | Column 2 | Column 3 | Column 4 | +==========+==================+=============+=======================+ | one | two | three | four | +----------+------------------+-------------+-----------------------+ | Creedance Clearwater Revival | +----------+------------------+-------------+-----------------------+ | normal | this column spans three columns and also wraps to the | | | next line. | '----------+------------------+-------------+-----------------------' ```

```perl $t = Text::UnicodeTable::Simple->new();

$t->set_header(qw/Subject Score/); $t->add_row('English', '78'); $t->add_row('Mathematics', '91'); $t->add_row('Chemistry', '64'); $t->add_row('Physics', '95'); $t->add_row_line(); $t->add_row('Total', '328');

print "$t"; .-------------+-------. | Subject | Score | +-------------+-------+ | English | 78 | | Mathematics | 91 | | Chemistry | 64 | | Physics | 95 | +-------------+-------+ | Total | 328 | '-------------+-------' ```