操作者 . Perl

点操作员用于在Perl为联(连接)的线条。

例如:

▶ Run
#!/usr/bin/perl

print 'ABC' . 'DEF';

该程序将显示的串 'ABCDEF'.

在这个例子中,点操作应用于两个行编写的程序码(这些线被称为"串的文字").

通常,操作数的运算符点 . 是串的文本,标变量,或结果的其他职能。

串数字

操作者 . 一直在努力与他们的论点如串。 该结果的所有这四个行动将是 同一行 '11'.

  • 1 . 1
  • 1 . '1'
  • '1' . 1
  • '1' . '1'

这很好。 它可以是绝对没有问题的连接数字串—结果正如预期的那样。

使用列为的操作数的

这里是一个例子的一个程序在一系列相串联的字符串中使用操作员 .:

▶ Run
#!/usr/bin/perl

my @arr = ('one', 'two', 'three');

print 'A' . @arr . 'B';

该程序将显示的串 'A3B'.

'A' . @arr . 'B' 的相同 'A' . scalar(@arr) . 'B'.

当使用的阵列操作者指 . 阵列中使用的标方面阵列 在标背景下返回的数量元素在这一阵列。

使用的散列的操作数的

这里是一样的程序在其散列串连字符串中使用操作员 .:

▶ Run
#!/usr/bin/perl

my %h = (
    a => 'one',
    b => 'two',
);

print 'A' . %h . 'B';

根据Perl版本,该程序将显示一串的形式 'A2/8B',或一串 'A2B'.

'A' . %h . 'B' 是一样的, 'A' . scalar(%h) . 'B'.

在相同的方式在列情况下,当使用的散列与操作者指 . 哈希 使用标的背景。

Perl5.26散列在标背景下返回的数量元素对这一散列。 和在该版本的Perl到5.26散列在标量方面的回报信息有关的内部结构的散列。

使用的链接在沙布的操作数的

这里是一个例子的一个程序,链接到Saba串连字符串中使用操作员 .:

▶ Run
#!/usr/bin/perl

my $sub = sub {
   return 42;
};

print 'A' . $sub . 'B';

Perl版5.22显示一些东西喜欢 ACODE(0x1452f00)B,开始从5.22在屏幕上 它将大约相同的地方,但会有更多的数字后 0x: ACODE(0x561e87413ed8)B.

不同的运行程序将显示出不同的数字。

'A' . $sub . 'B' 相同 'A' . scalar($sub) . 'B'. 当使用 在标方面的一个匿名Saba返回串的形式 CODE(0x10dbf00) (信息 在存的代码,萨巴岛,这种知识应该是非常罕见的).

下划线 _

连接串在Perl,我们使用操作指 .. 该声明强调 _ 在Perl没有。 但 操作者 _ 是在流行Perl库模板::工具包和在该图书馆是用于连接。

utf8标志

在这种情况下,如果联参加了至少一个行其内部有一个标志, 这意味着内容是utf8编码,然后将所得行这标志也将是。 这里有一个例子,证实了这一行为:

▶ Run
#!/usr/bin/perl

use utf8;

my $str_with_flag = 'раз-два-три';

my $str_without_flag = 'one-two-three';

print utf8::is_utf8($str_with_flag) . "\n"; # prints 1
print utf8::is_utf8($str_without_flag) . "\n"; # prints empty string

print utf8::is_utf8($str_with_flag . $str_without_flag) . "\n"; # prints 1
print utf8::is_utf8($str_without_flag . $str_with_flag) . "\n"; # prints 1

相关的主题

其他文章