小问,perl中哪些字符可以作为定界符

小问,perl中哪些字符可以作为定界符

如果,比如在perl正则中,推荐定界符是s///;
其他还有多种写法,如s###;
qq{}可以用qq//
那究竟哪些可以作为定界符呢?
you can change the / regular expression delimiter to almost any other special character if you preceed it with the letter m (for match); if you change to ( { or [, the balancing end expression character becomes ) } or ].
任何字符
哦,带m这样的标示,确实,大部分特殊字符都可以定界了
数字和字母总不可以吧


QUOTE:
原帖由 perljoker 于 2007-10-18 10:24 发表
哦,带m这样的标示,确实,大部分特殊字符都可以定界了
数字和字母总不可以吧

也可以。


QUOTE:
原帖由 放驴娃 于 2007-10-18 10:31 发表

也可以。

哦?可否举个例子,研究研究?
我不知道在何种情况下能这么做呢,3q


QUOTE:
原帖由 perljoker 于 2007-10-18 10:54 发表

哦?可否举个例子,研究研究?
我不知道在何种情况下能这么做呢,3q

不能自己动动脑子麽?
都告诉你可以了。
试着自己分析+推理+尝试一下,看看如何才能够用数字和字母做定界符。
我试着分析,推理,也尝试了好几下
硬是没搞出来
我主要尝试了正则


QUOTE:
原帖由 perljoker 于 2007-10-18 12:06 发表
我试着分析,推理,也尝试了好几下
硬是没搞出来
我主要尝试了正则

嘿嘿。如果你真的尽力了,那我就指点你一下子吧。


[Copy to clipboard] [ - ]
CODE:
$ cat ttt.pl
$str = 'hello';
$str =~ m 1l+1;
print "$&\n";
$ ./ttt.pl
ll
$ cat ttt.pl
$str = 'hello';
$str =~ s xl+xuc $&xe;
print "$str\n";
$ ./ttt.pl
heLLo
$



或者还可以写成这样:


[Copy to clipboard] [ - ]
CODE:
$str =~ s x l + x uc $& xex;


______