O Notepad ++ não imprime no console a partir do script perl

1

Eu tenho seguindo o script perl:

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

Eu fiz o comando NppExec no Notepad ++:

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

Quando executo este comando, ele produz:

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

que é altamente inapropriado, porque não imprime até receber todas as entradas. Algum conselho?

EDIT:

Eu encontrei uma resposta, eventualmente. O console do Notepad ++ não é terminal, portanto, o STDOUT não está no modo de linha de buffer . Quando prefixo o script com

$| = 1; 

instrução (o que faz o notepad ++ manusear quente), então o problema descrito é resolvido.

    
por user2551229 28.05.2014 / 21:31

1 resposta

0

Você pode usar o menu Executar do Notepad ++ para executar o arquivo Perl diretamente.
1. Vá para o Run
2. Digite C: \ strawberry \ perl \ bin \ perl.exe "$ (FILE_NAME)" ou forneça o caminho do arquivo perl exe.
3. Pressione Salvar
4. Atribuir um atalho.
e é feito.
Mas Console fecha muito rápido com este caminho, para adicionar código [system ("pause");] (Remove [] chaves) código no seu arquivo Perl na linha de fim para mostrar "imprimir qualquer tecla para continuar" mensagem no console.
Espero que isso ajude

    
por 10.03.2015 / 23:23