有人可以解释一下这里发生了什么吗?我正在尝试读取一个Downloaded-XML文件
while(<MY-FILE>) {
chomp;
$contents .= $_;#what is this doing?
}
预先感谢
答案 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 . $_;