in reply to Nonblocking IO Module

$listen is an option, an arg you can pass the new() method. It is supposed to be a listen socket.

From the book description of that API: "$set = IO::SessionSet->new([$listen])
Creates a new IO::SessionSet. If a listen socket is provided in $listen, then the module automatically accepts incoming connections"

Basically
$set = IO::SessionSet->new() ;
is the same as doing
$set = IO::SessionSet->new() ; $set->add($listen);
Does that make sense to you? Good, then what he is doing is calling the UNIVERSAL (as described above) to make sure that, if $listen exists, its a listening socket (although it can be other things too, see code on page 393 of the book) and if it is he calls his ->add method for you.

Update: Sorry, I misread the question and just got to it in a more roundabout way :)

"Nothing is sure but death and taxes" I say combine the two and its death to all taxes!