ybiC has asked for the wisdom of the Perl Monks concerning the following question:
I write my Perl scripts on Debian and have started testing them on ActivePerl, in hopes of releasing them to Win32-only cow-orkers.
The snippet below shows the first obstacle in my cross-platform efforts - no SIGARLRM on Win32. This shouldn't be a show-stopper, as there *must* be alternatives for user-input timeout. So far I've found Term::Prompt. Any monks used that module? What other methods should I consider for timing-out on user input?
BTW, thanks to converter, mothra, dws and Petruchio for suggestions in CB of *cough* dubious practicality {grin}
cheers,
Don
striving toward Perl Adept
(it's pronounced "why-bick")
#!/usr/bin/perl -w # alarum.pl # 2001-04-26 use strict; use Term::ReadKey; my $pass; print "\n", " Prompting for password\n", " (*not* echoed to screen nor written to disk)\n\n", ' Enter password:'; ReadMode('noecho'); eval { local $SIG{ALRM} = sub { die "ALARUM" }; alarm(60); chomp($pass = <STDIN>); alarm(0); }; if ($@ =~ /ALARUM/) { print "\n\n", " Sorry - you waited too long before entering a password.\n", " Try again, if you want.\n\n"; ReadMode(0); exit; } ReadMode(0);
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: cross-platform timeout on user input
by THRAK (Monk) on Apr 27, 2001 at 00:14 UTC | |
Re: cross-platform timeout on user input
by repson (Chaplain) on Apr 27, 2001 at 06:08 UTC | |
(code) Re: cross-platform timeout on user input (Grrr!! "not supported on this platform")
by ybiC (Prior) on Apr 27, 2001 at 15:25 UTC | |
Re: cross-platform timeout on user input
by isotope (Deacon) on Apr 27, 2001 at 21:27 UTC |
Back to
Seekers of Perl Wisdom