Perl 如何使用AnyEvent侦听读和写事件? $w=AnyEvent->io( fh=>,, 投票=>,, cb=>,, );
似乎是说它只能监听读或写事件Perl 如何使用AnyEvent侦听读和写事件? $w=AnyEvent->io( fh=>,, 投票=>,, cb=>,, );,perl,event-handling,Perl,Event Handling,似乎是说它只能监听读或写事件 如何侦听这两个事件?在同一个文件句柄上安装两个不同的监视程序:r和w $w = AnyEvent->io ( fh => <filehandle_or_fileno>, poll => <"r" or "w">, cb => <callback>, ); 第一个cb会被覆盖吗?你为什么不试试呢?我用简单的例子更新了我的答案。你可以根据自己的需要采用它
如何侦听这两个事件?在同一个文件句柄上安装两个不同的监视程序:r和w
$w = AnyEvent->io (
fh => <filehandle_or_fileno>,
poll => <"r" or "w">,
cb => <callback>,
);
第一个
cb
会被覆盖吗?你为什么不试试呢?我用简单的例子更新了我的答案。你可以根据自己的需要采用它。您可以根据需要在对象上安装任意数量的监视程序。
#!/usr/bin/env perl
use strict;
use warnings;
use 5.010;
use AnyEvent;
open my $FH, '+>','test' or die $!;
my $w; $w = AnyEvent->io (
fh => $FH,
poll => "w",
cb => sub { say "I can write!"; undef $w; },
);
my $r; $r = AnyEvent->io (
fh => $FH,
poll => "r",
cb => sub { say "I can read!"; undef $r; },
);
AnyEvent->condvar->recv;