Что делают $/ и $\ do?
Я обнаружил $\ = $/
когда я исследовал, как объединить 2 массива, но я совсем не понимаю этого. Пример с этим:
use strict;
$\ = $/;
my @array1 = ("string1", "string2");
my @array2 = ("string3", "string4");
my @array = (@array1, @array2);
print for @array;
Что они имеют в виду?
2 ответа
$\
является разделителем выходной записи. Все, что он содержит, добавляется к каждому print
заявление. $/
является разделителем входной записи, который по умолчанию имеет значение \n
(новая линия). Установив разделитель выходной записи на новую строку, вам не нужно добавлять новую строку в ваши операторы печати, делая оператор:
print for @array;
.. выглядят намного более гладкими, по сравнению с
print "$_\n" for @array;
Обратите внимание, что если бы он использовал use 5.010;
вместо $\ = $/;
он мог бы использовать
say for @array;
Обратитесь к документации Perl, или другая хорошая статья здесь.
$/
является разделителем входной записи, $\
является searator выходной записи. Ссылка выше имеет несколько полезных мнемонических устройств для запоминания этих и всех других специальных переменных Perl.