#!usr/bin/perl
use warnings;
use strict;
$\="\n";
my $var='WELCOME TO PERL';
$var='HI ' . $var;
print "$var";
print length $var;
$var="\t" . $var;
print $var;
print length $var;
$var="\l" . $var;
print $var;
print length $var;
输出:
HI WELCOME TO PERL
18
HI WELCOME TO PERL
19
HI WELCOME TO PERL
19
这里当我将\t
连接到字符串计数时加1,但是当我连接\l
时,计数不会递增。它们之间有什么区别。
实际上我需要的是将\L
放在字符串的开头。所以我不需要在print
中使用它。
答案 0 :(得分:4)
请参阅此简单测试:perl -wle '$var="\lA"; print length $var; print $var;'
秘诀是\l
是一个转义序列,它会产生下一个字符的小写。
TBH,我发现奇怪的是它在字符串插值中起作用而不仅仅在RE中。
<强>更新强>
如果您将代码从"\l"
更改为'\l'
,则会按预期插入两个字符。