in reply to Bulletproofing Servers

To your first question, it means:

If the value of the hash %CHILDREN at key $child is a reference to a block of 'CODE' (a subroutine), then call that code reference with the value of $child as its first parameter.

kill TERM => keys %CHILDREN is very much like you suspect. To be clearer, it could be written as:

kill('TERM', keys(%CHILDREN));

kill takes a signal as the first parameter, and a list of pids to send the signal to as the rest of its parameters.

--jwest

-><- -><- -><- -><- -><-
All things are Perfect
    To every last Flaw
    And bound in accord
         With Eris's Law
 - HBT; The Book of Advice, 1:7