“Deep recursion” is a warning, about an “unusual condition that might warrant your attention.” What you need to do next is to determine what is the underlying cause of the message and whether-or-not it is, in fact, a legitimate cause. For example, it may well be that the XML data that you are being asked to process has “the structure from Hell,” and if it does, there is nothing really that you can do about it. (“Don’t go there...”) The data is what the data is ... good, bad, or indifferent. But, on the other hand, maybe Perl is alerting you to a genuine bug in your code. The only way to find out ... is to find out.
If the condition is legitimate, the no warnings pragma can be used to suppress this particular message. I would bracket the affected lines of source-code with the most specific, limited pragma, accompanied by very liberal comments. (How soon we do forget... especially given that we are now older-than-dirt.) Then, countermand the order (use warnings...) as soon as possible thereafter.