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.
--MidLifeXis
In reply to Re: How to extent the scope of local variable outside block??
by MidLifeXis
in thread How to extent the scope of local variable outside block??
by sumathigokul
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |