in reply to chargen program is too slow / IO::Select socket handle outputting timing issue

This looks wrong:
my @wready = $sel->can_write(0.0001); my $wsocket; foreach $wsocket (@ready) { gen_chars($wsocket); }
Replace @ready with @wready, perhaps?