#!/usr/bin/env perl
# In a file containings data in blocks separated by an empty line,
# extract the last block.
# gzipped files are automatically decompressed on the fly.
# Rok Zitko, rok.zitko@ijs.si, Sep 2009

use strict;
use warnings;

if (@ARGV != 1) {
  die "Usage: lastblock <filename>.\n";
}

my $filename = shift;

my $arg;
if ($filename =~ /\.gz$/) {
    $arg = "gunzip -c $filename |";
} else {
    $arg = "<$filename";
}

open(F, $arg) or die "Can't open $filename: $!\n";

my $cnt = 0;
my @lastblock = ();
my @block = ();

while(<F>) {
    if (!/^#/) {
      if ($_ eq "\n") {
	  $cnt++;
	  @lastblock = @block;
	  @block = ();
      } else {
	  push(@block, $_);
      }
  }
}

print @lastblock;

print STDERR "Total blocks=$cnt\n";
