.------[ Michael Weber wrote (2003/03/25 at 13:23:36) ]------
 | 
 |  Here are two scripts, the only difference is the marker I am splitting
 |  by.  I really expect the output from the two scripts to be the same. 
 |  Why is the output different?
 |  
 |  perl -e '@NEW = split(".", "1.2.3"); print "x", $NEW[1], "x\n"; '
 |  Outputs  xx
 |  
 |  perl -e '@NEW = split("_", "1_2_3"); print "x", $NEW[1], "x\n"; '
 |  Outputs  x2x
 |  
 |  Can't I use a period to mark fields in perl?
 |  
 `-------------------------------------------------

    split() doesn't just take a character as to what to separate on, it
    takes a regular expression. What you're running into is that the
    period means "any character" in a regular expression. 

    So if you did the following it would work as expected:

    perl -e '@NEW = split(/\./, "1.2.3"); print "x", $NEW[1], "x\n"; '

    The forward slashes denote the start/end of the pattern and the
    backslash says to use a literal period as opposed to the regex
    operator 'any character'. 

    Hope this helps. 

 ---------------------------------
   Frank Wiles <[EMAIL PROTECTED]>
   http://frank.wiles.org
 ---------------------------------


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to