http://qs1969.pair.com?node_id=75871

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);