Notepad ++ не печатает на консоль из Perl-скрипта

1193
user2551229

У меня есть следующий скрипт на Perl:

print "test: "; my $input = <>; print "result: ", $input; 

Я сделал команду NppExec в Notepad ++:

NPP_SAVE perl "$(CURRENT_DIRECTORY)\$(FILE_NAME)" 

Когда я запускаю эту команду, она выдаст:

Process started >>> hello test: result: hello <<< Process finished. (Exit code 0) 

что крайне неуместно, потому что он не печатает, пока не получит весь ввод. Любой совет?


РЕДАКТИРОВАТЬ:

Я нашел ответ, в конце концов. Консоль Notepad ++ не является терминальной, поэтому STDOUT не находится в режиме буферизации строки . Когда я начинаю сценарий с

$| = 1; 

инструкция (что делает блокнот ++ обрабатывать горячей), а затем описанная проблема решена.

1

1 ответ на вопрос

0
AbhiNickz

You can use Run Menu from Notepad++ to run Perl file Directly.
1. Go to Run
2. Type C:\strawberry\perl\bin\perl.exe "$(FILE_NAME)" or give path of perl exe file.
3. Press Save
4. Assign Shortcut.
and It is Done.
But Console closes pretty fast with this way so add
[system("pause");] (Remove [] braces) code in your Perl file at the end line to show "print any key to continue" message in console.
Hope this helps

Похожие вопросы