my @row = ('col1 : line1 col1 : line2', 'col2 : line1', 'col3 : line1', 'col4 : line1', 'col5:line1 col5:line2', 'coll6 : line1 coll6 : line2 coll6 : line3 coll6 : line4' ); while ( join('',@row) ) { for(my $i=0;$i<=$#row;$i++) { my @a = split (/\n/,$row[$i]); my $s = shift(@a); print ($s? $s . '|' : '|'); $row[$i] = join("\n",@a); } print "\n"; }