Doesn't work. I modified it because I'm calling it in a shell and some of the chars were being interpreted by the shell. But it still doesn't work. Nothing gets replaced. Any ideas? perl -pi -e "s/\(\\W\)/\\\$1/ge" > -----Original Message----- > From: Liz Burke-Scovill [mailto:kethry at winternet.com] > Sent: Tuesday, January 16, 2001 1:13 PM > To: 'tclug-list at mn-linux.org' > Subject: Re: [TCLUG] perl regex question > > > On Tue, 16 Jan 2001, Austad, Jay wrote: > > > Ok, I have this shell script that pipes some stuff to > xargs. Some of the > > stuff has lone single quotes in it and breaks the pipe to > xargs because of > > an unmatched quote error. So to fix this, I do something like: > > > > cat filname.txt | perl -pi -e "s/\'/\\\'/g" | xargs .... > > perl -pi -e "s/(\W)/\\$1/g" should do the trick - \W looks for all non > alphanumeric characters - putting it in parenthesis turns it into a > segment for backreferencing, $1 is the backreference variable > > > > > How can I modify that perl statement so it will take single > quotes, double > > quotes, greater/less than signs, question marks, and > asterisks, and replace > > them with a backslash and then themselves? > > > > * would be \* > > ? would be \? > > " would be \" > > and so on. > > > > I don't want to have a bunch of -e statements in my little > perl command. > > > > Jay > > _______________________________________________ > > tclug-list mailing list > > tclug-list at mn-linux.org > > https://mailman.mn-linux.org/mailman/listinfo/tclug-list > > > > -- > Imagination is intelligence having fun... > e-mail: kethry at winternet.com > URL: http://WWW.winternet.com/~kethry/index.html > > _______________________________________________ > tclug-list mailing list > tclug-list at mn-linux.org > https://mailman.mn-linux.org/mailman/listinfo/tclug-list >