$| = 1;
вызывает сброс после каждой записи или печати, поэтому выходные данные появляются сразу после генерации, а не буферизации.
См. Документацию perlvar .
$|
- это имя специальной переменной.Вы не должны вводить пробел между $
и |
.
Независимо от того, используете ли вы пробел вокруг =
или нет, Perl не имеет значения.Лично я думаю, что использование пробелов делает код более читабельным.
Почему в вашем скрипте use strict;
стоит после $| = 1;
, я не знаю, за исключением того, что они оба вещей, которые вы бы поставили прямо вверху, и вы должны поместить их в один или другой порядок.Я не думаю, что это имеет значение, что на первом месте.