If you are expecting deep recursion, you can use no warnings 'recursion'; to suppress that warning. Use it in the smallest possible scope. Full details are in perllexwarn.
BTW, I think jasonk meant to say use diagnostics; (not use warnings) to have perl look up the long winded definition for you.