split()'s pattern argument



Hello-

'Encountering something weird (well weird to me), 'couldn't find it in the
FAQ:

when attempting to call split() with a value to "split on" that is stored in
a scalar, I get behavior other than what I expected. The Camel book says to
just put it inside match delimiters, but that doesn't help the cause. Thus:

@line = split( /$separator/ );

doesn't do what I thought it would, as if $separator was replaced with:

@line = split( " " );

The problem I am encountering is when I try to access the list produced by
the split (with the scalar), the first list value is null if the very first
"token" it encounters matches the value contained in the scalar. So for
simplicity, I set $separator = ' '; then when using this scalar in the call
to split(), it just so happens that the first line of data begins with a
space, followed by two "words" that are separated by whitespace. So the
list that I get back from split() has 3 elements in it: a null, the first
word and the second word. However, with the simple string example (I know
that split will parse a string as a pattern even when not given as a
pattern) I get the correct results, which are simply the first word and the
second word, thus the list I get back has only 2 elements in it, as it
should.

I don't know why I am experiencing this behavior. I'm probably missing
something simple, but I thought I'd ask anyway.

Thank you in advance.

Jerry




.



Relevant Pages

  • Re: split()s regex pattern parameter
    ... the split (with the scalar), the first list value is null. ... the simple string example (I know that split will parse a string as a ... pattern even when not given as a pattern) I get the correct results, ... a hardcoded literal space character is a special case. ...
    (comp.lang.perl.misc)
  • split()s regex pattern parameter
    ... The Camel book says to ... the split (with the scalar), the first list value is null. ... the simple string example (I know that split will parse a string as a ... pattern even when not given as a pattern) I get the correct results, ...
    (comp.lang.perl.misc)
  • Re: Youre Not Going To Believe This: Another Cirrus Is Down (Statesville, NC)
    ... ramifications of flying a fast plane in the pattern. ... Many pilots are clueless in the pattern when it comes to following ... land without encountering near mid-air conditions. ...
    (rec.aviation.piloting)
  • Re: iif() problem
    ... There is a well-known issue when combining a string with NULL in iif, ... which you may be encountering. ... Deepak Puri ... Prev by Date: ...
    (microsoft.public.sqlserver.olap)
  • why does the regrex do not work?
    ... I am new to perl and i am encountering a problem with regrex. ... In the following code i want to delete "3)" from $string using $a. ...
    (comp.lang.perl.misc)