Мне нужно ввести несколько ЗДЕСЬ-DOC. В моих кодах есть 2 цикла. Внутренний цикл используется для получения многострочного здесь-doc. Но после того, как я введу Control-D, чтобы завершить один здесь-doc, внутренний цикл while не запускается снова, а внешний цикл работает бесконечно. Каков наилучший способ исправить это?
while True {
my $y = "";
my $x = 32;
while $x=$*IN.getc {
$y = $y ~ $x;
}
say "==========";
say "[$y]"; sleep 2;
}
Почему $ x продолжает быть EOF даже после того, как я сброшу $ x на 32? Почему EOF застрял в $ * IN? Спасибо за помощь.
Хорошо, я понял. Я решил проблему, избегая Ctrl-D все вместе. Еще раз спасибо smls !! – lisprogtor