Подтверждение пароля perl

Может ли кто-нибудь дать мне пример кода, позволяющего пользователю дважды ввести пароль, сравнить его и напечатать текст, если они верны или нет, например, когда мы создаем нового пользователя. Заранее спасибо...

3 ответа

Решение

Из склепа perldoc -f,

$pwd = (getpwuid($<))[1];

system "stty -echo";
print "Password: ";
chomp($word = <STDIN>);
print "\n";
system "stty echo";

if (crypt($word, $pwd) ne $pwd) {
    die "Sorry...\n";
} else {
    print "ok\n";
}

Изменить в соответствии с вашими потребностями.

Склеп красная сельдь.

system "stty -echo";
print "Password: ";
chomp(my $password = <STDIN>);
print "\nPassword again: ";
chomp(my $check_again = <STDIN>);
print "\n";
system "stty echo";

if ($password ne $check_again) {
    die "Sorry...\n";
} else {
    print "ok\n";
}

Вот ответ, основанный на подсказке ephemient.. Мне не нужна первая строка, которую я удалил, и в случае, если n e предполагается, что eq, вероятно, означает, что равно:) похоже, это работает..

system "stty -echo";
print "Password: ";
chomp($word = <STDIN>);
print "Password again: ";
chomp($pwd = <STDIN>);
print "\n";
system "stty echo";

if (crypt($word, $pwd) eq $pwd) {
    die "Sorry...\n";
} else {
    print "ok\n";
}
Другие вопросы по тегам