my $pin_name; my $out_pin; my $outdir_pin; my $flag_pin=0; my $csvoutpin; my $max_tran_val; open (FILE2,"<","File_2") || die "Can not open Final_output.csv File"; my @csvFile = ; open (FILE1,"<","File_1") || die "Can not open libray File"; my @libFile = ; for (my $i = 0; $i< @libFile; $i++) { my $line = $libFile[$i]; chomp $line; if ($line =~m/^\s*pin\s*\(\"(.*)\"\)/g || $line4 =~m/^\s*pin\((.*)\)/g) { $pin_name = $1; chomp $pin_name; } if ($line =~m/^\s*direction\s*:\s*output/g) { $out_pin = $pin_name; $outdir_pin = $line; $flag_pin =1; } if ($flag_pin == 1) { foreach my $csvoutpinLine (@csvFile) { chomp $csvoutpinLine; my @tempLine = split(',',$csvoutpinLine); my $csvoutpin=$tempLine[0]; my $max_tran_val=$tempLine[1]; if ($csvoutpin eq $out_pin) { $line =~ s/$outdir_pin/$outdir_pin\n max_transition :$max_tran_val /g ; $libFile[$i] = $line; } } $flag_pin=0; } } open (FILE3,">","File_3") || die "Can not open libray File"; print FILE3 "@libFile" ; close FILE1; close FILE2; close FILE3;