On Wed, Oct 22, 2003 at 07:22:24PM +0200, Kevin Pfeiffer wrote: > In article <[EMAIL PROTECTED]>, Charles K. Clarkson > wrote: > > > Kevin Pfeiffer <[EMAIL PROTECTED]> wrote: > > > > : Where I am stuck is on the question: > > : > > : Given an @array such as > > : ("Title of Song", "Artist", "Title", "Another Artist", "etc"), > > : is there an easy way to strip out the quotation marks. > > > > s/"//g foreach @array; > > Ahhh, that's so nice. I should have known better and just tried that. I'm > guessing that in such a format internal quote marks would have to be > escaped? So I could do: > > s/[^\]"//g... ?
Kevin, I don't think that's what you want. That will run through your string and, everywhere that it sees a " it will strip the quote and the previous character unless the previous character is a \, in which case it won't do anything. So, yes, it preserves escaped "s, but it accidentally nukes other characters. (Also, you need to escape the \.) I think what you want is a negative look-behind: s/(?<!\\)"//g Note that this will strip a leading quote as well as an internal one. Check http://perldoc.com/perl5.8.0/pod/perlre.html for details on negative (and positive) look-behinds and -aheads. They are very useful. --Dks -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]