abcd123 klmn123 100.00 1000.00 -900.00 (VIOLATED)
abcd124 klmn124 100.00 1000.00 -900.00 (VIOLATED)
.
.and so on
####
klmn124,100.00,2500.00,"justifiedbyChan","Date:14/4"
.
.and so on
####
abcd123 klmn123 100.00 1000.00 -900.00 (VIOLATED)
abcd124 klmn124 100.00 2500.00 -2400.00 (WAIVED)
####
#! /tools/perl/5.8.8/linux/bin/perl
use strict;
use warnings;
# Set up a hash to receive the information
my %identifier = ();
# Read the violations file into the hash
open my $filter, '<', $waiver or die;
while (my $vline = <$filter>) {
my ($pins2, $threshold2, $newthreshold2, $note1, $note2, $note3, $
+note4, $note5) = split /\s+/, $vline;
#$identifier{$pins2}{threshold2} = $threshold2;
$identifier{$pins2}{newthreshold2} = $newthreshold2;
}
#Read input file line by line
open my $input, '<', $report or die;
open my $output, '>', $result or die;
while (my $wline = <$input>){
my ($scenario, $pins1, $threshold1, $newthreshold1, $diff, $status
+) = split /\s+/, $wline;
print $output "$scenario $pins1 $threshold1 $newthreshold
+1 $diff $status\n";
foreach my $okey (keys %identifier) {
foreach my $skey (keys %{$identifier{$okey}}) {
if (exists $identifier{$okey}) {
#my $diff2 = $skey - $threshold1;
print $output "$scenario $pins1 $threshold1 $skey
+$diff (WAIVED)\n";
}
}
}
}
close $filter;
close $input;
close $output;