in reply to Re^4: A question of fork efficiency
in thread A question of fork efficiency

This?
elsif( @ips ? $sel->count >= $max : $sel->count )
What you call educative I call overly clever and in this case outright obstructive. This is the equivalent when you get rid of the ternary
elsif( ( @ips && $sel->count >= $max ) || $sel->count )
Which is clearer and not even longer. And once you see it like this and realize @ips is not used in within the following block, it becomes apparent you can safely omit that and the conditional becomes
elsif( $sel->count )
One should keep conditionals as simple as possible. Similarly is this
my @connects; for my $fh ( @connects = $sel->can_write($timeout) )
suboptimal. Apart from, again, obstructing the conditional, one should keep declaration and initialization as close to one another as possible.
my @connects = $sel->can_write($timeout); for my $fh ( @connects )
This is better.


holli

You can lead your users to water, but alas, you cannot drown them.

Replies are listed 'Best First'.
Re^6: A question of fork efficiency
by synless (Acolyte) on Aug 07, 2019 at 14:43 UTC

    Agreed. This is clearer. There are still other issues I have found as far as purposely testing against DNS names you know don't exist. Some of those go to the void and get no output returned.