Fogle Cpl Shawn B wrote:

> I'm writing my first perl script with the llama (the beginner o'riley
> book) but the one thing I need to make a complete program that I don't see
> in the book or the perl faqs (although I'd bet it's there somewhere) is a
> acceptable way to cause the script to terminate. I have been having to
> goto another VC and kill the perl script. It would be nice for me to be
> able to press "Q" but that, to my little bit of knowledge of perl, would
> require a <STDIN> that was somewhat passive. Any suggestions? (I won't be
> asking many more newbie questions, as this is the only one that has seemed
> to stump me for the last week two).
> 
> tia
> shawn

if you have a tight loop that is executing and eating up CPU. you probably 
want to set up a signal handler to catch your keystroke since the OS pay 
more attention to signal. for example:

#!/usr/bin/perl -w
use strict;

#-- press control-c to get here
$SIG{INT} = sub { print "what? ";
                  my $c = <STDIN>;
                  exit if($c =~ /^q/i);
                  print "ignored. continue..\n";
                };

#-- tight loop
while(1){
        print "hi\n";
}

__END__

david

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to