#!/usr/bin/perl -w

use strict;

#use Data::Dumper;
use Fcntl qw(SEEK_SET);
use FileHandle;
use FindBin;

use lib $FindBin::RealBin;
use RawSamples;
use SiteInfo;


########################################################################


my $siteInfo = new SiteInfo;
$siteInfo->load($_) foreach @ARGV;
#print Dumper($siteInfo);

my $rawSamples = new RawSamples;
$rawSamples->read('stdin', \*STDIN);
#print Dumper($rawSamples);


sub dump ($$\%) {
    my ($unit, $scheme, $tuples) = @_;
    my $sites = $siteInfo->find($unit, $scheme);

    @{$tuples->{lines}} == @{$sites->{lines}}
	or die "mismatched count of samples and sites for unit $unit, scheme $scheme\n";

    local ($,, $\) = ("\t", "\n");
    foreach (0 .. $#{$tuples->{lines}}) {
	print $unit, $scheme, $sites->{source}, $sites->{lines}->[$_], $tuples->{lines}->[$_];
    }
}

$rawSamples->foreach(\&dump);
