Perl Par-Packer EXE-файл сна () не работает

hello.pl это файл, который работает нормально:

print "Hello World";
sleep(5);

Когда я конвертирую это в hello.exe используя par-packer, окно будет бездействовать в течение 5 секунд, но не будет печатать "Hello World" - который на самом деле печатается через 5 секунд, и окно закрывается.

Любое решение приветствуется. Я хочу, чтобы печать отображалась в течение 5 секунд.

1 ответ

Решение

Это было бы проблемой очистки буфера STDOUT, Вы можете либо вручную промыть перед сном с

STDOUT->flush() # a specific instance of $filehandle->flush()

или вы можете попросить, чтобы этот дескриптор файла был автоматически очищен для вас.

STDOUT->autoflush(1);

Также вы можете отключить это с 0 в качестве параметра.

Наконец, есть менее читаемая специальная переменная $| который вы можете назначить 1 если вы делаете какую-то игру в одну строчку или игра в гольф.

Другие вопросы по тегам