my %pinList = (); my $pinValFile = "Pin_Values.txt"; sub readPinValFile{ open(READ_PINVALS, $pinValFile) or die "[ERROR] Could not read Pin Val file, $!"; print WRITE_RUN_LOG "[INFO] Reading Pin Values file for pin info file->$pinValFile\n"; my @pinNames = (); my @pinMaxSDVs = (); my @pinMinSDVs = (); my $lineno=0; my $i=0; while(){ $i++; if($i > 1){ my $line = $_; $line =~ s/^\s*|\s*$//g; #To remove all leading and trailing blanks if($line ne ""){ my @pinWords = (); if($line =~ m/.*?,.*?,.*/){ @pinWords = split(',',$line); } elsif($line =~ m/.*?;.*?;.*/){ @pinWords = split(';',$line); } else{ $runLogErrCount++; print WRITE_RUN_LOG "\t\t[ERROR] Could not read pin info for $line at line $i\n"; next; } my $pin = $pinWords[0]; my $pinMaxSDV = $pinWords[1]; my $pinMinSDV = $pinWords[2]; $pin =~ s/^\s*|\s*$//g; #To remove all leading and trailing blanks $pinMaxSDV =~ s/^\s*|\s*$//g; #To remove all leading and trailing blanks $pinMinSDV =~ s/^\s*|\s*$//g; #To remove all leading and trailing blanks if($pin ne ""){ if($pinMaxSDV eq "nil"){ $pinMaxSDV = ""; } if($pinMinSDV eq "nil"){ $pinMinSDV = ""; } $pinList{$pin} = [$pinMaxSDV,$pinMinSDV]; } else{ $runLogErrCount++; print WRITE_RUN_LOG "\t\t[ERROR] Could not read pin info for $line at line $i, incorrect pin name\n"; next; } } } } }