내 데이터베이스에 대한 인터페이스를 작성 중이고 항목을 편집할 수 있기를 원합니다. 나는 Readline을 사용할 것이라고 생각했지만 작동시킬 수 없습니다. 내 코드는 다음을 기반으로 작동해야 한다고 말하고 싶습니다.용어::ReadLine::Gnu그리고SE에 대한 답변.
perl -w -MTerm::ReadLine -E'
$term = new Term::ReadLine "ProgramName";
$prompt = "prompt> ";
sub su {insert_text("----default----");};
$attributes = $term->Attribs;
$attributes{startup_hook} = \&su;
while (defined ($_ = $term->readline($prompt)))
{ eval; }
'
나는 깨끗한 프롬프트를 받았습니다:
prompt>
나는 이것을 예상했지만 :
prompt> ----default----
나는 아직 Perl에 능숙하지 못하며 점점 더 복잡해지고 있습니다. 내쪽에 버그가 있는 걸까요? 뭔가 빠진 것이 있나요? 아니면 모듈 구현에 허점이 있습니까?
답변1
다음 구문을 사용할 수 있다는 것을 알았습니다.
$term->readline($prompt, $default)
이는 질문의 코드보다 짧고 간단합니다.
여기에서 찾았습니다.용어::ReadLine::Perl5, 아직 이 세 가지가 어떻게 관련되어 있는지는 확실하지 않습니다.
- 용어::ReadLine::Perl5
- 용어::ReadLine::Gnu
- 용어::ReadLine
(그러나 이 질문은 여전히 열려 있습니다.)