書いてみた
最初に書いたのがこれ。
use strict;
use threads;
use threads::shared;
$| = 1;
my $f : shared;
my $ob = threads->create(\&observe);
my $pr = threads->create(\&print_a);
$ob->join();
$pr->join();
sub observe {
my $i;
while(1){
$i = <STDIN>;
chomp($i);
exit if $i eq 'q';
if ($i eq 'p'){
$f == 1 ? $f-- : $f++;
}
}
}
sub print_a {
while(1){
if($f == 1){
print "a";
sleep 1;
}
}
}
Term::ReadLineがよくわからなかったので、あえて使わずに書いてみたら相当ダメな感じになってしまったので、Web+DB Pressを引っ張りだしてきて書き直して投稿。