in reply to Operator precedence (or, I'm an idiot)
If you are on a UNIX system, there is a full non-perl solution (untested!); this should work on a bourne-like shell:
for FILE in `find /dir -type f -name \*.pl -print` ; do sed -e 's/and/&&/g' $FILE > $FILE.new ; doneAfter that you should go through all .new files and see if you actually needed the change. I am not sure that you really want to change every and in &&
If you are sure you don't need to double-check the changed files, you could then substitute that sed with an analogous one-liner using perl -pi.bak 's/and/&&/g' (untested again) and keep the .bak files in a safe place if, one day, you'll find a wrong change.
Update: Oooooopssss! hardburn is right!!! You need to do the changes iteratively or write something to reparse your code... sorry, I am an idiot, too!
Ciao!
--bronto
The very nature of Perl to be like natural language--inconsistant and full of dwim and special cases--makes it impossible to know it all without simply memorizing the documentation (which is not complete or totally correct anyway).
--John M. Dlugosz
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Operator precedence (or, I'm an idiot)
by belden (Friar) on Mar 09, 2003 at 17:47 UTC |