#!/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; #### ID Name Source Type Assigment 1 ... ... ... ... 2 ... NA Emp Active EU Ex-emp Inactive 3 ... ... ... ... #### $t->load( map { MapCarU {[@_]} map [split $/], @$_ } @rows );