#!/usr/bin/perl -w

use strict;
use warnings;

my $FILTERTYPE = 'hwc';

my $SEP = "\t\t";
my $NL = "\n";

if ($#ARGV < 1) {
    die "Filter failed! Please report bug.\n";
}

my $filename = $ARGV[0];
my $fileType  = $ARGV[1];
my $infile = $filename;

open INFILE,"< $filename";
$filename =~ s/\.tmp/\.$FILTERTYPE/;
open OUTFILE,"> $filename";

if ($fileType eq 'perfctr') {
    my $header = 0;
    while (<INFILE>) {
        if (/Event[ ]*\|[ ]*(core.*)\|/) {
            if (not $header) {
                my @col = split('\|',$1);
                my $numcol = $#col+1;
                print OUTFILE 'NumColumns'.$SEP.$numcol.$NL;
                print OUTFILE 'Event/Metric';
                foreach (@col) {
                    s/[ ]//g;
                    print OUTFILE $SEP.$_;
                }
                print OUTFILE $NL;
                $header = 1;
            }
        }elsif (/STAT/) {

        }elsif (/\|[ ]+([A-Z0-9_]+)[ ]+\|[ ]*(.*)\|/) {
            my @col = split('\|',$2);
            print OUTFILE $1;
            foreach (@col) {
                s/[ ]//g;
                print OUTFILE $SEP.$_;
            }
            print OUTFILE $NL;
        } 
    }
} else {
    die "Filter failed! Unknown application type $fileType!\n";
}

unlink($infile);
close INFILE;
close OUTFILE;


