I also think this is perl who retries to fork. I think perl should return control back to user saying "Hey! I wasn't able to fork now -- you decide what to do next...".
If admin set ulimit to prevent users from wasting system resources, then perl should fail if restrictions are broken. Perl should not wait until administrator makes limits bigger.