use strict;
use warnings;
open (IN1, "<design_modify1.vhd") or die; ##### Suggestion: use 3 a
+rgument form and lexical
open (IN2, "<nets.txt") or die; ##### file handles ou
+t of habit. It can make
open (OUT, ">output_file.vhd") or die; ##### some types of c
+ode safer.
open (IN3, "<enabled_nets.txt") or die; ##### open(my $fh, "<", $
+filename) or die "cannot open $filename: $!"
my @nets = <IN2>;
chomp @nets;
my @enabled_nets = <IN3>;
chomp @enabled_nets;
my $lines = ""; ##### Defined here (I wil
+l call it (1))
while (<IN1>) { ##### cuddle your braces
+or not. Be consistent.
#print OUT;
##### (1) should be defin
+ed here instead, for
##### the smallest scope.
foreach my $i (0..$#nets) {
if (s/\=\>\s+$nets[$i]\,/\=\>$enabled_nets[$i]\,/) {
my $lines = $_; ##### and here (I will ca
+ll it (2))
##### Make it '$lines = $
+_' (no 'my')
##### and you will probab
+ly see your
##### expected results.
print "done";
print $lines; ##### prints the value of
+ (2)
}
}
print OUT "$lines"; ##### prints the value of
+ (1)
}
close (IN1);
close (IN2);
close (IN3);
close (OUT);
There are many other coding practice and preference annotations that I could make as well. If you wish to hear them, just ask.