Como posso identificar e lidar com caracteres de controle e teclas de seta no Perl?

StackOverflow https://stackoverflow.com/questions/2460032

  •  20-09-2019
  •  | 
  •  

Pergunta

Quero implementar os recursos da linha de comando, como em um terminal Linux. Eu vi isso no comando FTP também.

  • Se eu pressionar a guia, preciso listar os comandos.
  • Se eu pressionar os caracteres de controle, preciso obter esses caracteres com base, farei alguma ação.
  • E se eu der algum comandos, ele deve executar.

Para isso eu tentei com Termo :: ReadKey Isso está no modo não canônico. Mas aqui estou enfrentando mais problemas, como se eu pressionar algum personagem ou flecha de controle, tenho três caracteres. Para a seta para cima, obtive ASCII 27 91 65.

Alguém pode me ajudar a sair desse problema?

Foi útil?

Solução 3

Eu tenho um módulo Perl para resolver meus requisitos completamente. isso é Termo :: Shellui.

Obrigado por todas as suas entradas.

E se você tiver outra solução, é sempre bem -vindo.

Outras dicas

Infelizmente, o genérico Termo :: readline A interface não inclui recursos de conclusão personalizáveis. Você precisa escolher uma implementação específica da ReadLine para isso.

Termo :: readline :: gnu, Termo :: readline :: perl, e Termo :: readline :: zoid são todos capazes de realizar a conclusão personalizada. Termo :: readline :: gnu é provavelmente o melhor documentado. Termo :: readLine :: Perl está praticamente sem documentos, e não tenho experiência com termo :: readline :: zoid.

Eu acho que você seria melhor servido por Termo :: readline.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top