You should edit your first post instead of posting your code again. The editing area should appear just below your original post.
About your posted-again code, there's still no > in your second open, so you can't write on the file. Write open (FILE, ">", "$SCU") or die "Could not open file $SCU: $!";. $! is a special var that contains the error that occurred while trying to open your file.
If you do not want to modify the output of @lines in your for loop, you can either make an explicit copy with my $copy = $_; or, if you use a recent version of Perl, use the /r switch on the substitution, which means that the result is returned, and the original variable is not affected. If you do not write $var =~ s/pattern/replace/; but just s/pattern/replace; it works on $_ by default BTW. So in your case you could write (if you get an error, your version of Perl is probably too old): push @newlines, s/<ABCD>/xyz/rg for @lines;
In reply to Re^3: no reaction on string replace
by Eily
in thread no reaction on string replace
by semipro
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |