#!/usr/bin/perl
# The Missing Textutils, Ondrej Bojar, obo@cuni.cz
# http://www.cuni.cz/~obo/textutils
#
# Given a tab delimited file, 'blockize' returns blocks - every column on a
# separate line, former lines are now delimited by a blank line.
#
# See also 'deblockize' and consider deblockize | grep | blockize.
#
# $Id: blockize,v 1.4 2011-02-02 00:21:31 bojar Exp $

use Getopt::Long;
use strict;

sub usage {
  print STDERR "blockize <stdin >stdout\n";
  exit 1;
}

my $usage = 0;
my $field_delim = "\t";
GetOptions(
  "help" => \$usage,
  "field-delimiter=s" => \$field_delim,
) or exit 1;
usage() if $usage;

my $delim = "";
my $nl = 0;
while (<>) {
  $nl++;
  chomp;
  my @line = split /\Q$field_delim/o;

  foreach my $elem (@line) {
    print "$elem\n";
  }
  print "$delim\n";
}

