2011-01-31 3 views

답변

12

Unix 플랫폼을 사용하는 경우 파일 핸들을 /dev/tty (또는 IO::Pty)으로 열 수 있습니다. TTY 작업의
좋은 예는 여기에서 예 "프로그램이 대화 형으로 실행중인 테스트 여부"에 있습니다 http://pleac.sourceforge.net/pleac_perl/userinterfaces.html

또한 Term::ReadKey를 통해 비밀번호 IO를하고 고려해야한다

은 (perlfaq8에 설명) - 나는 그것이 TTY에 연결 할 수있다 생각 STDIO 대신에 잘 모르겠다. 그렇지 않으면 this SO answer by brian d foy 끝에 나열된 TTY + Term :: ReadKey 솔루션을 사용하십시오.

다음은 예입니다.

It's not the best style (doesn't use 3-arg form of open, nor uses lexical filehandles) 그러나 작동해야합니다.

use autodie; # Yay! No "or die '' " 
use Term::ReadKey; 
open(TTYOUT, ">/dev/tty"); 
print TTYOUT "Password?: "; 
close(TTYOUT); 
open(TTY, "</dev/tty"); 
ReadMode('noecho'); 
$password = ReadLine(0, *TTY); 
+0

문제가 해결되었습니다. 고마워. – Arkady

+0

@Arkady - 여러분을 환영합니다. 답변 옆에있는 체크 표시를 클릭하여 답을 수락하십시오 (답변을 2 점 얻음). 또한 답변의 위쪽에 투표하십시오 (옆에있는 위쪽 화살표). – DVK

관련 문제