Use Algorithm::Loops:
#!/usr/bin/perl -w use strict; require Text::Table; use Algorithm::Loops qw( MapCarU ); my $t = Text::Table->new( qw( ID Name Source Type Assigment ) ); my @rows= ( [ 1, '...', '...', '...', '...' ], [ 2, '...', "NA\nEU", "Emp\nEx-emp", "Active\nInactive" ], [ 3, '...', '...', '...', '...' ], ); $t->load( map { MapCarU { [ map { defined($_) ? $_ : '' } @_ ] } map { [ split $/ ], } @$_ } @rows, ); print $t;
produces
ID Name Source Type Assigment 1 ... ... ... ... 2 ... NA Emp Active EU Ex-emp Inactive 3 ... ... ... ...
Update: Based on blokhead's observation, the heart of the code can be made quite concise:
$t->load( map { MapCarU {[@_]} map [split $/], @$_ } @rows );
Update2: Replaced erroneous use of Filter with map.
- tye
In reply to Re: Text::Table w/ newlines
by tye
in thread Text::Table w/ newlines
by diotalevi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |