[PerlChina] 关于split函数的小问题

jinmo qian qian.jinmo at gmail.com
Fri Aug 4 23:48:34 PDT 2006


split的第一个参数只能是正则表达式。如果是字符串的话,会给转成一个正则表达式。比如说

my @a = split 'e|c','item_code|store_code';
print join("\n", at a);

的输出结果就是

it
m_
od
|stor
_
od

用"\|"的话,转化后的正则表达式还是/|/,因为\在双引号里已经用来转意|了,就不会放在正则表达式里了。这种情况下要用单引号。

On 8/4/06, Havel Zhang <havel.zhang at gmail.com> wrote:
>
> hi everyone:
>
>   有一个小问题请教各位弟兄,是关于split函数的。
>   我要把一个字串分成两个字段,以'|'为分隔符,程序应该是:
>   @a = split /\|/','item_code|store_code';
>   print join("\n", at a);
>
>   出来的结果是:
>   item_code
>   store_code
>   而我将程序改为:
>   @a = split "|",'item_code|store_code';   #把"|"改成"\|" 也一样
>   print join("\n", at a);
>   出来的结果是:
>   i
>   t
>   e
>   m
>   -
>   c
>   o
>   d
>   e
>   |
>   s
>   t
>   o
>   r
>   e
>   -
>   c
>   o
>   d
>   e
>
> 不知有哪位弟兄能指点一下,split中//和""的不同?
>
> --
> 真理使你自由
> _______________________________________________
> China-pm mailing list
> China-pm at pm.org
> http://mail.pm.org/mailman/listinfo/china-pm
>


More information about the China-pm mailing list