다음 스크립트는 문서의 개요 섹션에있는 샘플과 거의 같습니다.Term :: ReadLine을 사용하여 명령 기록을 검색하는 방법은 무엇입니까?
use strict;
use warnings;
use Term::ReadLine;
my $term = Term::ReadLine->new('My shell');
print $term, "\n";
my $prompt = "-> ";
while (defined ($_ = $term->readline($prompt))) {
print $_, "\n";
$term->addhistory($_);
}
그것은 오류없이 실행하지만 불행하게도, 내가 위쪽 화살표를 클릭해도, 난 단지 ^[[A
없이 역사를 얻을. 내가 뭘 놓치고 있니?
print $term
문은 Term::ReadLine::Stub=ARRAY(0x223d2b8)
을 인쇄합니다.
우리가 여기에 있기 때문에 나는 밑줄 친 프롬프트를 인쇄하는 것을 보았다. 그러나 그것을 막을 수있는 것은 문서에서 찾을 수 없다. 그것을 피할 수있는 방법이 있습니까?
을 다음과 같이 스크립트의
내 재 작성이다. 터미널 키 바인딩을 확인 했습니까? – Rob
@Rob, 어떤 Term :: ReadLine 구현을 사용하고 있습니까? 그것은 Term :: ReadLine :: Gnu를 설치 한 후에도 저에게 효과적이었습니다.하지만 스텁 (Stub)에서도 작동해야한다고 생각합니다. – Zagorax