. = оператор в Perl - PullRequest
       2

. = оператор в Perl

0 голосов
/ 12 декабря 2018

Может кто-нибудь объяснить мне, что здесь происходит?Я пытаюсь прочитать файл Downloaded-XML

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

}

заранее спасибо

1 Ответ

0 голосов
/ 13 декабря 2018

Точка (.) - это оператор конкатенации в 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 . $_;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...