Perl 字符串转义序列

Perl 字符串转义序列,在上一个教程中,我们学习了如何使用 Perl 中的字符串。在本指南中,我们将讨论转义字符,它将帮助我们在某些情况下实现所需的输出。

在 Perl 中显示电子邮件地址

字符@在 perl 中有特殊含义。正如我们已经知道的那样,当我们将特殊字符放在双引号字符串中时,perl 会尝试对其进行插值。在下面的示例中,如果我们不在@之前放置反斜杠,则会抛出错误而不是显示电子邮件,因为它会将@gmail视为数组

在单引号的情况下,不需要使用转义序列,因为插值不会出现在单引号字符串中。

use strict;  
use warnings;  

my $email  = "xyz\@gmail.com";  
print "$email\n";  

# no backslash needed as interpolation does not
# work in single quotes.
my $email2  = '[email protected]';  
print "$email2\n";

输出:

[email protected]
[email protected]

转义双引号字符串中的$符号

我们已经知道美元符号会插入变量的值。如果你想转义$符号并避免插值,请使用我们上面做的相同技巧 – 用反斜杠作为前缀。

use strict;
use warnings;
my $name = 'Negan';
my $msg = 'I am Negan';

# escaping the first dollar sign but not escaping the second
print "\$name: $name\n";

# escaping the first dollar sign but not escaping the second
print "\$msg: $msg\n";

输出:

$name: Negan
$msg: I am Negan

如何转义转义字符反斜杠(\

在上面的例子中,我们使用反斜杠来转义特殊字符$和@。可能存在您希望在输出中显示反斜杠的情况。为此,你想要逃避反斜杠。让我们举个例子来理解这个:

use strict;
use warnings;
my $say = 'I do like to use backslash \\';
print "$say\n";

输出:

I do like to use backslash \

如您所见,我们在输出中显示了\

转义字符串中的双引号

我们知道双引号内的文本在 Perl 中被视为字符串。让我们说我们想在 Perl 中显示一个字符串,字符串本身有一个双引号。我们将使用相同的方法,使用\来转义引号。

use strict;
use warnings;
my $say = "I like to watch \"The Walking Dead\"";
print "$say\n";

输出:

I like to watch "The Walking Dead"

q运算符 – qq

我们可以用双q运算符替换用于包含字符串的双引号。这样做的好处是我们不必担心使用双引号(")和括号的转义序列。

use strict;
use warnings;
my $name = 'Chaitanya';
print qq(My name is "$name" and I like brackets ()\n);

输出:

My name is "Chaitanya" and I like brackets ()

请参阅我没有使用双引号和括号的转义序列。

q运算符 – q

q运算符就像单引号一样工作。其中存在的特殊字符不进行插值。

让我们采用上面在双q运算符中看到的相同示例。

use strict;
use warnings;
my $name = 'Chaitanya';
print q(My name is "$name" and I like brackets ()\n);

输出:

My name is "$name" and I like brackets ()\n
赞(1)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址