Печатать текст произвольной формы в функции Perl? - PullRequest
2 голосов
/ 15 ноября 2010

Я получаю очень странную ошибку при попытке напечатать текст произвольной формы в подпрограмме на Perl.Ниже приведен код, который я вызываю

    print OUTFILE <<"HEADER";
The freeform text would go here
HEADER

Странно то, что это работает только в основной части моей функции.Как только я помещаю его в вызов функции, я получаю эту ошибку:

Can't find string terminator "HEADER" anywhere before EOF

Это означает, что он не может найти заголовок, даже если он есть.Разве вы не можете использовать произвольный текст внутри функции (подпрограммы)?

1 Ответ

1 голос
/ 15 ноября 2010

Убедитесь, что перед конечным идентификатором строки нет пробела / табуляции / отступа, то есть HEADER. Ваш код должен выглядеть так:

        function someFunc(){
          print OUTFILE <<"HEADER";
      The freeform text would go here
HEADER
        }

Обратите внимание, что до HEADER нет пробела / табуляции / отступа. Он должен начинаться с первого символа своей строки.

Обратитесь к этому руководству за дополнительной информацией:

Цитирование:

Важно помнить, что Вы заканчиваете документ здесь, используя тот же Слово, которое вы начали, и это должно быть сама на линии

...