функции ReadKey означает неблокирующее
№ Имеется необработанный ввод $char } else {
# Необработанного ввода нет
ReadMode ('normal ); # Восстановить нормальные
# параметры терминала
Комментарий
Аргумент - 1 функции ReadKey означает неблокирующее чтение символа. Если символа нет, ReadKey возвращает undef.
> Смотри также---------------------------------------------------------------------------------------------
Документация по модулю Term::ReadKey с CPAN; рецепт 15.6.
15.10. Ввод пароля
Проблема
Требуется прочитать данные с клавиатуры без эхо-вывода не экране. Например, вы хотите прочитать пароль так, как это делает passwd, то есть без отображения пароля пользователя.
Решение
Воспользуйтесь модулем Term::ReadKey с CPAN, установите режим ввода noecho, после чего воспользуйтесь функцией ReadLine:
use Term ReadKey,
ReadMode noecho'; Spassword = ReadLine 0;
Комментарий
Пример 15.3 показывает, как организовать проверку пароля пользователя. Если в вашей системе используются скрытые пароли, getpwuid вернет зашифрованный пароль лишь привилегированному пользователю. Всем остальным в соответствующем поле базы данных возвращается лишь *, что совершенно бесполезно при проверке пароля.
536 Глава 15 • Пользовательские интерфейсы Пример 15.3. checkuser
#!/usr/bin/perl -w# checkuser - чтение и проверка пароля пользователя
use Term::ReadKey;
print "Enter your password: "; ReadMode 'noecho'; Spassword = ReadLine 0; chomp Spassword; ReadMode 'normal';
print "\n";
($username, Sencrypted) = ( getpwuid $< )[0,1];
if (crypt($password, $encrypted) ne $encrypted) {
die "You are not $username\n"; } else {
print "Welcome, $username\n";
> Смотри также---------------------------------------------------------------------------------------------
Документация по модулю Term::ReadKey с CPAN; man-страницы crypt(3) и passwd(5) вашей системы (если есть). Функции crypt и getpwuid описаны в perlfunc(l).
15.11. Редактирование входных данных
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий