Nefa Geschrieben 10. Oktober 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 10. Oktober 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 10. Oktober 2009 Teilen Geschrieben 10. Oktober 2009 ReadKey Aber Sternchen sind glaube ich nicht möglich. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nefa Geschrieben 11. Oktober 2009 Autor Teilen Geschrieben 11. Oktober 2009 danke euch, probier ich gleich mal aus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nefa Geschrieben 17. Oktober 2009 Autor Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DevilDawn Geschrieben 18. Oktober 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nefa Geschrieben 18. Oktober 2009 Autor Teilen Geschrieben 18. Oktober 2009 ok, danke, muss ich nachher gleich mal testn obs klappt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.