之间的区别是什么单一和双引号Perl

在Perl编程语言创建一串在你的节目代码可以使用 单 ' 或双引号 ".

有一个区别。 在单一的报价工作 唯一的逃生顺序 \\\',在双引号,除了这两个工作 一些其他的逃生顺序。 并且只有如果你用双引号的变量名称 开展中的价值(内插出现)。 进一步的细节。

# 总

单双引号Perl编程语被用于描述 字符串中的程序码(行程序的文本被称为"串的文字"). 这里有一个例子:

▶ Run
#!/usr/bin/perl

my $str1 = 'Hello, world!';
my $str2 = "Hello, world!";

在这节目,我们创建了两个变量,以及他们每个人都有拨款线。 在这个例子中,有没有区别 之间采用双层和单一的报价,串我们收到了在第一和第二种情况下,绝对 同的。

反斜杠

另一个常见的事情是采用双层和单一的报价是如何采取行动,如果 你需要在线是一个符号反斜杠 \. 如果你想要建立一个符合这个符号, 一个字符串你需要编写两个反斜杠 \\. 在得到串将是一个单一的反斜杠。 这里有一个例子:

▶ Run
#!/usr/bin/perl

my $str1 = '\\';
my $str2 = "\\";

print $str1, "\n";
print $str2, "\n";

这个程序将显示:

\
\

引号中的字符串

第一差异之间的单一和双引号是,你需要做,以创建一线 其中有单人或双人的报价。

使用单一的报价,这是非常容易地创建一个串其具有双引号: '"'. 但是,如果 需要一串,其中有单一的报价,它必须写入使用两个字:反 削减 \ 和报价。 '\'' —这样的字符串创建一个字符串从一个符号"的单一的报价".

在这种情况下的双引号—所有的方式。 它便创建一串与一个单一的报价 "'",和 把字符串中,双引号的需要编写之前,它与反斜杠(这就是所谓的"筛选") "\"".

使用特殊的字

当你使用单一的报价,只有两个集中的符号转变为一个单一的角色。 这一点,因为我们已经看到早些时候,两个反斜杠 \\ —他们变成一个单一的反斜杠;以及反斜杠, 单一的报价 \' 变成一个符号"的单一的报价".

但是当你使用双引号还有几个这样的组符号(通常被称为 "逃序列")。 最着名和最经常使用的是一种符号组合 \n. \n在 双引号变成一个特殊字符"行". 如果单 报价 print 'ASDF\nQWERTY'; 显示 ASDF\nQWERTY, 如果你用双引号 print "ASDF\nQWERTY"; 会出现在屏幕上两条线:

ASDF
QWERTY

其他使用逃生顺序是 \t,用于在它成为双引号 在签字。 不是很经常,但仍然使用 \b,这种特殊性质,删除先前的角色 (可以被用来创建非常简单的的动画在控制台)。 有一些更多的逃脱 序列,他们很少使用。

插值的变量

如果串的创建使用双引号编写的变量名称、字符串名字会出现 这个变量的值(当采用单一的报价字符串中将名称)。

这个特征的语言是非常经常使用。

▶ Run
#!/usr/bin/perl

my $var = 'John';

my $str1 = 'Hello, $var';
my $str2 = "Hello, $var";

print $str1, "\n";
print $str2, "\n";

这个程序将显示:

Hello, $var
Hello, John

$str1 ,我们创造了使用单一的报价字符串中包含什么是写在符串 文字— 'Hello, $var'. 和在线 $str2 的变量名称 $var 替代的价值这一变量。

请注意,仅部署标量和数组:

▶ Run
#!/usr/bin/perl

my $var = 'John';
my @arr = ('one', 'two');
my %h = (
    a => 1,
);

sub my_sub {
    return 12;
}

print "$var @arr %h &my_sub";

这个程序将显示该文本 John one two %h &my_sub. 标 $var 和阵列 @arr 导的价值 和哈希 %h 和Saba my_sub —没有。

建议

在许多情况下,创建字符串无论如何,所以和单 和双引号会的工作相同。 建议是这样的—如果一串Litera仍然 使用它,使用单一引号。

其他文章