Perl 中的 \L 和 lc 函数有什么区别?

rug*_*ted 2 string perl

Perl 中的 \L 和 lc 有什么区别?

这两个适用于什么地方?

ike*_*ami 5

"foo\Lbar\Ebaz"
Run Code Online (Sandbox Code Playgroud)

只是另一种写作方式

"foo".lc("bar")."baz"
Run Code Online (Sandbox Code Playgroud)

它发生在插值之后,所以

"foo\L$bar\Ebaz"
Run Code Online (Sandbox Code Playgroud)

只是另一种写作方式

"foo".lc($bar)."baz"
Run Code Online (Sandbox Code Playgroud)

\L..\E 在替换运算符的替换表达式(字符串文字)中很有用。

s/(...)(...)(...)/\L$1\E!$2!\L$3\E/
Run Code Online (Sandbox Code Playgroud)

要使用lc,你必须使用/e

s/(...)(...)(...)/ lc($1)."!$2!".lc($3) /e
Run Code Online (Sandbox Code Playgroud)