Установите два разных наблюдателя на один и тот же файловый дескриптор: r и w
#!/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;