#!/usr/bin/perl -w
# Generate a randomized file for each student Feb 6, 2013
# perl PlRandomizeFiles.txt PreparedGradient.txt ClassList34.txt

use strict;
srand(time|$$);

sub ReadFile
{
    my ($FileName) = @_;
    unless(open(MYFILE, $FileName))
    {
        print "Cannot open file $FileName.doc\n";
        exit;
    }
    my @Data = <MYFILE>;
    close MYFILE;
    return @Data;
}

my $FileData = $ARGV[0];
my @DataI = ReadFile($FileData);

my @DataO;
my $LineCum = "";
foreach my $Line (@DataI)
{
    if ($Line =~ /\S/)
    {
        $LineCum = $LineCum . $Line;
    }
    else
    {
        unless ($LineCum =~ /^Drug:/)
        {
            push(@DataO, $LineCum);
        }
        $LineCum = "";
    }
}

my $FileList = $ARGV[1];
my @DataL = ReadFile($FileList);

foreach my $Student (@DataL)
{
    chomp $Student;
    my $FileOut = "Rating$Student.doc";
    unless(open(MYFILE, ">$FileOut"))
    {
        print "Cannot open file $FileOut\n";
        exit;
    }

    my @DataR = @DataO;

    my $RandNum;
    while (my $Size = scalar @DataR)
    {
        $RandNum = int rand($Size);
        print MYFILE "$DataR[$RandNum]\n";
        $DataR[$RandNum] = $DataR[0];
        shift @DataR;
    }

    close (MYFILE);
}

exit;
