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 #### 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% #### #! /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;