heredocs
Применение так называемых heredocs (here documents) в Perl 5 традиционно вызывало эстетическое неудовольствие от того, что,
В Perl 6 теперь разрешено ставить метку в любую позицию строки при условии, что она начинается не позже, чем любая строка в блоке:
my $str = qq:to/TEXT_END/; alpha beta gamma TEXT_END say $str;
Этот пример напечатает следующее:
alpha beta gamma
Важно обратить внимание, что лишних отступов слева нет. Начало координат передвигается в позицию, с которой начинается закрывающая метка.
Например, если метку сдвинуть в начало строки
my $str = qq:to/TEXT_END/; alpha beta gamma TEXT_END say $str;
на печати появится соответствующий отступ:
alpha beta gamma
В том случае, если найдется строка, отступ у которой меньше, чем отступ метки, pugs выдает предупреждение:
*** Insufficient indent level in heredoc (5 expected)
heredocs, qq:to — 24 апреля 2007