mfasakhov
			
				написал 25 июня 2008 года в 14:59 (2428 просмотров)
			
			
			Ведет себя
			неопределенно; открыл 1 тему в форуме, оставил 3 комментария на сайте.			
	
	Как в Perl ввести с клавиатуры строку, чтобы это не отображалось на экране.
Например когда нужно ввести пароль.
Последние комментарии
-  
        
            OlegL, 17 декабря 2023 года в 15:00            →
        
        
            Перекличка
            21
        
  -  
        
            REDkiy, 8 июня 2023 года в 9:09            →
        
        
            Как «замокать» файл для юниттеста в Python?
            2
        
  -  
        
            fhunter, 29 ноября 2022 года в 2:09            →
        
        
            Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt?
            6
        
  -  
        
            Иванн, 9 апреля 2022 года в 8:31            →
        
        
            Ассоциация РАСПО провела первое учредительное собрание
            1
        
  -  
        
            Kiri11.ADV1, 7 марта 2021 года в 12:01            →
        
        
            Логи catalina.out в TomCat 9 в формате JSON
            1
        
  
DevOps as a Service from Palark
	24/7 SRE & DevOps service to cover all your Kubernetes needs.

Ну можно curses заюзать…
Эм… Потом открывать придётся :D
close(STDOUT) не помог :( :
close(STDOUT);
$ln=<>; # Все-равно ввод виден
print «$ln\n»; # Здесь ничего не выводит
http://darkeside.blogspot.com/2005/12/switching-off-terminal-echo-in-perl.html
Спасибо за ссылку, metal — заработало!
Всем спасибо за участие.
Ещё хотя бы один листинг в качестве иллюстрации способа решения проблемы — и действительно всё в порядке.
Сделал примерно так:
use Term::ReadKey;
sub InputUsername
{
print «Enter Username: »;
$username = ReadLine;
chomp $username;
}
sub InputPassword
{
print 'Password: ';
ReadMode 'noecho’;
$password = ReadLine;
ReadMode 'normal’;
chomp $password;
}