I did a quick search of CPAN and found that Term::ReadKey should
be able to do exactly what you ask.  I'm not sure how platform
dependent it is, but I do remember using it once and having some
problems with it under dos (but that was eon's ago and I can't
remember exactly what I was trying to do [knowing me most
likely something obscure, weird, stupid and wrong.. but interesting,
in an attempt to avoid /real work/  { like now } ] ).

It's pod does say one of it's design goals was/is platform
independence so most likely that won't be a problem.  I coded
a quick test script under linux and the package appears to
fulfill all your requirements.

Hope that's helpful.

#--------- test script that can be safely ignored if you desire since
#--------- it's only a rehash of the example from the pod


## horribly plagiarized from the perldoc and coded
## as a /FUN/ example
use Term::ReadKey;
ReadMode 4; # Enter raw mode

my ($tab,$index) = (0,1);

# -1 means use a non blocking read
while ( not defined( $key = ReadKey(-1) ) ) {
  $index++;
  $tab = int(sin(($index % 236) /75) * 75);
  print '.' x $tab . "I'M HUNGRY...FEED ME" .( '.' x (75 - $tab)) .
"\n";
}

$key = $key =~ /\n/ ? "a firmly pressed enter key"
                    : "'$key' characters";
print "Thank you! I just love the taste of $key in the morning.\n";

ReadMode 0; # Reset tty mode before exiting



Thomas Jakub wrote:

> --- Adam Carson <[EMAIL PROTECTED]> wrote:
> > Since you said that you are trying to hit a
> > webserver until you tell it to stop, you might want
> > it to check for a different condition, such as a
> > certain number of hits or a timeout, etc.  In Pascal
> > there is a getkey function, I don't think Perl has
> > an equivalent though.
>
> I got it so it does it for as many iterations as you
> specify, but I was hoping to get it so it could do it
> continiously until someone hits enter.  Like, maybe I
> could start it on Friday, sometime, without any
> concern for how many iterations it does per second,
> and on monday, I can just hit enter to terminate it,
> and get the run time statistics of it, thus far.  Or
> maybe just do it until I need to reboot the computer -
> I could just hit enter, and reboot...
> Anyhow, someone suggested that I do it with threads...
>  how would I do this?
>

--
Perl, because 600 billion oysters can't be wrong
   Canadian Consulting Services' pet perl hacker
   David Labatte [EMAIL PROTECTED]


Reply via email to