in reply to text formatting in columns with hash?

I'm late to the party here, but thought i'd post what i was playing around with anyway...

#!/usr/bin/perl -w use 5.012; # Read in the header my $hdr = <DATA>; chomp $hdr; my @lines; my $line = 0; my $column = -1; my $previous_a = ''; while (<DATA>) { chomp; my ($a,$b,$c) = split; if ($a ne $previous_a) { $lines[0][++$column] = $hdr; $line = 1; $previous_a = $a; } $lines[$line++][$column] = $_; } $,="\t"; say map {defined($_) ? $_ : ''} (@$_) for (@lines); __DATA__ a b c 0 0 d 0 1 d 0 1 d 0 2 d 0 2 d 1 0 d 1 0 d 1 1 d 1 1 d 1 2 d 1 2 d 2 0 d 2 0 d 1 0 d 1 0 d 1 1 d 1 1 d 1 2 d 1 2 d
Produces:
a b c a b c a b c a b c 0 0 d 1 0 d 2 0 d 1 0 d 0 1 d 1 0 d 2 0 d 1 0 d 0 1 d 1 1 d 1 1 d 0 2 d 1 1 d 1 1 d 0 2 d 1 2 d 1 2 d 1 2 d 1 2 d

Replies are listed 'Best First'.
Re^2: text formatting in columns with hash?
by Anonymous Monk on Jul 05, 2013 at 20:25 UTC
    Thanks so much everyone for all your help! I don't know if the output is going to be even or odd I just know that when the first column changes I wanted to start a new set of columns. The above code looks really good.