Hi all,
After I succeeded in combining the two files into one using hash, I have a problem now to add one more column into the last column.
So I have these two files:
File1:
Item,Period,Waveform,Attributes,Sources
an_en11,200.00,{0 133},{ }
br_gh13,140.09,{0 59},{ }
ce_oy74,300.05,{0 230},{int_43}
dt_pp50,200.11,{0 122},{ }
er_tk02,305.47,{0 220},{ }
ef_yb41,200.05,{0 233},{ }
File2:
Item,Sink,Buffer,Cell,Slew,Path,Violation,Area
dt_pp50,0,0,2,0.000,0.000,0,0.000
er_tk02,0,2,3,0.002,0.004,0,0.001
ef_yb41,0,1,5,0.000,0.000,0,0.000
I wish to generate the last column (%Skew) by using (Slew/Period)*100%.
Item,Sink,Buffer,Cell,Slew,Path,Violation,Area,Period,%Skew
dt_pp50,0,0,2,0.000,0.000,0,0.000,200.11,(Slew/Period)x100%
er_tk02,0,2,3,0.002,0.004,0,0.001,305.47,(Slew/Period)x100%
ef_yb41,0,1,5,0.000,0.000,0,0.000,200.05,(Slew/Period)x100%
Is there any suggestion on what command should i use in my script to get the output? My code :
#! /usr/intel/bin/perl-w
use strict;
use warnings;
my %file1Hash;
my $value1;
open my $file1, "<","design.rpt.csv";
open my $file2, "<","summary.rpt.csv";
open my $outfile_1, ">", "combined.rpt.csv";
print $output_1 "Item, Sink, Bufer, Cells, Slew, Path, Violation, Area
+, Period, %Skew\n";
while(my $line = <$file1>){
chomp $line;
my($key, $value1) = (split /,/, $line);
if (defined $key) {
$file1Hash{$key}= $value1;
}
else {
# print $line."\n";
}
}
while(my $line1 = <$file2>){
chomp $line1;
my($key1) = (split /,/, $line1) ;
if (defined $file1Hash{$key1}) {
print $outfile_1 $line1.",".$file1Hash{$key1}."\n";
+
}
else {
# print $line1."\n";
}
}
close $file1;
close $file2;
close $outfile_1;
Where should i start or how do i start?