。= perl中的运算符

时间:2018-12-12 16:55:34

标签: perl

有人可以解释一下这里发生了什么吗?我正在尝试读取一个Downloaded-XML文件

while(<MY-FILE>) {
 chomp;
 $contents .= $_;#what is this doing?

}

预先感谢

1 个答案:

答案 0 :(得分:1)

点(.)是Perl中的串联运算符。

$string = $a_substring . $another_substring;

有时您希望将文本连接到同一变量。

$string = $string . $some_extra_text;

Perl中的大多数二进制运算符都有一个“赋值”版本,可以简化这样的代码。所以代替:

$total = $total + $line_value;

您可以编写:

$total += $line_value;

几乎所有C风格的编程语言都可以找到这样的语法。

在Perl中,串联运算符具有分配版本。所以代替:

$string = $string . $some_extra_text;

您可以编写:

$string .= $some_extra_text;

因此,颠倒该逻辑,您的代码:

$contents .= $_;

仅仅是以下方面的快捷方式

$contents = $contents . $_;