in reply to I got zombies

Well I just want to say thank you all for your help. To summarize, as sr. tye pointed out, signals aren't propegated through process groups, so I have to do that myself. Yuck, but ok. Now I just gotta figure out how to get a SIGINT to break from a blocking IO::Socket::INET::accept (should I use non-blocking? is that possible? I'll figure it out)

So, thank you, especially tye.

local $_ = "0A72656B636148206C72655020726568746F6E41207473754A"; while(s/..$//) { print chr(hex($&)) }