Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re^6: Is it safe to use external strings for regexes? ("deep recursion" in Debugger)

by LanX (Sage)
on Oct 12, 2021 at 09:31 UTC ( #11137443=note: print w/replies, xml ) Need Help??

in reply to Re^5: Is it safe to use external strings for regexes? (infinite loops)
in thread Is it safe to use external strings for regexes?

hippo messaged me that

> FYI, the default recursion limit is "only" 100.

I knew, but when in tested in the debugger I only saw

1000 levels deep in subroutine calls!

It seems that the debugger has a hard breakpoint at 1000 and doesn't show the normal "deep recursion" warning.

Tested with 5.32 on Win.


use strict; use warnings; our $limit =1050; our $l=0; sub tst { $l++; #warn "level: $l" unless $l%50; die "LIMIT $limit reached" if $l>$limit; tst(); } tst();
in debugger
D:\tmp\pm>perl -d Loading DB routines from version 1.57 Editor support available. Enter h or 'h h' for help, or 'perldoc perldebug' for more help. main::( our $limit =1050; DB<1> c main::tst( $l++; 1000 levels deep in subroutine calls! DB<1>

normal run

D:\tmp\pm>perl Deep recursion on subroutine "main::tst" at line 12. LIMIT 1050 reached at line 11. D:\tmp\pm>

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11137443]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2022-05-16 14:22 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (63 votes). Check out past polls.