#!/usr/bin/perl
use strict;

#
# Usage:  ./split_model_name.pl
#

my $tabledir = "./";

opendir(TABLES,$tabledir) or die $!;
	my @files= grep { /^T0.*txt$/} readdir TABLES; 
closedir TABLES;

foreach my $file (@files) {
	my $fileout = $file . "_tmp";
	open (FILEIN, $file) or die $!;
	open (FILEOUT, ">$fileout") or die $!;
	while (my $line = <FILEIN>) {
		chomp $line;
		if (($line =~ /^#/) || ($line =~ /^$/)){
			print FILEOUT "$line\n";
		} else {
                  	my @fields = split (/\s+/, $line);
			if ($fields[1] =~ /^(T0\d{3})TS(\d{3})_(\d)$/){
				my $dom = $1;
				my $gr = $2;
				my $mdl = $3;
			} elsif ($fields[1] =~ /^(T0\d{3})TS(\d{3})_(\d)(_\d)$/){
				my $dom = $1;
				my $gr = $2;
				my $mdl = $3 . $4;
			} elsif ($fields[1] =~ /^(T0\d{3})TS(\d{3})_(\d)-D(\d)$/){
				my $dom = $1 . "-D" . $4;
				my $gr = $2;
				my $mdl = $3;
			} elsif ($fields[1] =~ /^(T0\d{3})TS(\d{3})_(\d)(_\d)-D(\d)$/){
				my $dom = $1 . "-D" . $5;
				my $gr = $2;
				my $mdl = $3 . $4;
			} else {
				print "Unrecognized model name $fields[1]\n";
				exit(0);
			}
			print FILEOUT "\n$fields[0]\t$dom\t$gr\t$mdl";
			for (my $i=2; $i<=$#fields; $i++){
				print FILEOUT "\t$fields[$i]";
			}
		}
	}
	close FILEOUT;
	close FILEIN;
	rename $fileout, $file;
}
exit(1);
