in reply to Conditional Search and Replace
Is there perhaps a more elegant way to do this?
If you you input and output redirection, you can let the shell do the file handling for you.
while (<>) { s/$searchPattern1/$repalcePattern1/g; s/$searchPattern2/$replacePattern2/g; s/$searchPattern3/$replacePattern3/g; print; }
but that doesn't seem to be working
while (<>) { if (s/$searchPattern1/$repalcePattern1/g) { warn("$searchPattern1 replaced with $replacePattern1\n"); } elsif (s/$searchPattern2/$repalcePattern2/g) { warn("$searchPattern2 replaced with $replacePattern2\n"); } elsif (s/$searchPattern3/$repalcePattern3/g) { warn("$searchPattern3 replaced with $replacePattern3\n"); } else { warn("Search Patterns not found\n"); } print; }
Note that you used to search for all three patterns. Now you stop after one succeeds in replacing something.
is there a way to remove all the spaces at the end of a line and add a new line character?
s/\s*\z/\n/;
|
|---|