On Wed, 2005-02-02 at 12:54 -0500, Jay wrote: > On Wed, 02 Feb 2005 12:39:17 +0000, mike <[EMAIL PROTECTED]> wrote: > > Am I right in thinking that if you double quote the seperator in split > > the seperator is added to the array ie: > > > > @array3=split(/"\t/",$value4); would add \t to the end of @array3 while > > > > @array3=split(/\t/,$value4); would not > > > > I think we need a little more information here, maybe a sample value > for $value4. Split, though, doesn't add anything; it removes the > delimiter. If you have: > > $value4 = "one\ttwo\tthree\tfour\tfive" ; > > @array3=split(/\t/, $value4) ; > > returns @array3 = ["one", "two", "three", "four", "five"] > > The delimiter is never included in the returned data. If you > questions is really "what happens when there is a trailing delimiter, > or an empty field in the data?", the answer is, trailing delimiters > are ignored, otherwise empty strings are returned. So if > > $value4 = "\tone\t\ttwo\tthree\t\tfour\tfive\t" ; > > then > > @array3 = ["", "one", "", "two", "three", "", "four", "five"] > > If you need some other behavior, you need to constuct a more complex > regex for split, but simple adding quotes doesn't change the behavior. > > HTH, >
afraid it did in my case (screwed up a dba query, which is how I noticed) the code without quoting the delimiter works with no further changes, this is on a fc3 box > --jay > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>