Nefa Geschrieben 10. Oktober 2009 Geschrieben 10. Oktober 2009 Hallo, ich hätte mal ne Frage zu Perl. Würde gern wissen wie ich ne Eingabe per: $var = <STDIN>; verschlüssel kann, also dass für den Nutzer nur ein * erscheint, also für Passworteingaben und ähnliches. Wäre nett wenn mir wer so nen Code geben könnte. MfG Nefa Zitieren
lupo49 Geschrieben 10. Oktober 2009 Geschrieben 10. Oktober 2009 Das könntest du über das Modul Term::ReadKey - search.cpan.org realisieren. use Term::ReadKey; ReadMode('noecho'); $password = ReadLine(0); Quelle: perl <stdin> Zitieren
baba007 Geschrieben 10. Oktober 2009 Geschrieben 10. Oktober 2009 ReadKey Aber Sternchen sind glaube ich nicht möglich. Zitieren
Nefa Geschrieben 11. Oktober 2009 Autor Geschrieben 11. Oktober 2009 danke euch, probier ich gleich mal aus Zitieren
Nefa Geschrieben 17. Oktober 2009 Autor Geschrieben 17. Oktober 2009 also das hat alles gut geklappt, hab die eingabe fürs passwort versteckt, aber kann mir noch wer sagen wie ich dann statt überhaupt nichts nen * hin bekomm? würde mich freuen wenn jemand sowas hätte Zitieren
DevilDawn Geschrieben 18. Oktober 2009 Geschrieben 18. Oktober 2009 #!/usr/bin/perl -w use strict; use Term::ReadKey; ReadMode(4); my $key; my $done = 0; my $password = ''; do { # Check for keypress $key = ReadKey(-1); if (defined $key) { # if pressed, handle input # remember to also handle backspace & delete if # neccessary if ($key eq "\n") { $done = 1; } else { $password .= $key; print "*"; } } else { # else idle 0.1 secs to ease on cpu # without this, script would use 100% cpu select(undef,undef,undef,0.1); } } until ($done); ReadMode(0); print "\n"; print "Your choice: $password \n"; exit(0); Zitieren
Nefa Geschrieben 18. Oktober 2009 Autor Geschrieben 18. Oktober 2009 ok, danke, muss ich nachher gleich mal testn obs klappt Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.