while($sel->can_read) { my $nbytes = sysread( ... ); my $wait_sec = $nbytes / $bandwidth; select(undef,undef,undef, $wait_sec); # delay syswrite( ... ); }