Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Deep recursion on subroutine ?!?

by k2 (Scribe)
on Dec 23, 2001 at 15:40 UTC ( [id://134047]=perlquestion: print w/replies, xml ) Need Help??

k2 has asked for the wisdom of the Perl Monks concerning the following question:

Hi!
I recieved this yesterday when I try to create a pie-graph with GD::Graph::pie.

Deep recursion on subroutine "GD::Graph::pie::level_angle" at D:\Perl\site\lib\GD\Graph\pie.pm line 415

I had a look at line 415 and it handles the angle that the pie-graph starts on.
The angle is defined in my code as
$graph->set( suppress_angle => '15', start_angel => '179', set_legend_font => ( 'arial.ttf', 8), );

Can't see any problem there and my code ran perfectly earlier this week.
So now I hope that anyone of you has seen this problem before
and knows how to correct it.

By the way... this is the first time I got a little window saying
" perl.exe has generated errors and will be closed by windows. You will need to restart the program".
Kinda cool since I didn't think this was ever going to happen when you run with #!/usr/bin/perl -w

Merry Christmas and a Happy New Year
/k2

Replies are listed 'Best First'.
Re: Deep recursion on subroutine ?!?
by tachyon (Chancellor) on Dec 23, 2001 at 17:50 UTC

    If you cut and pasted this code you have a typo in start_angel which may be the problem as start_angle will be undefined.

    Deep recursion means that that a sub is recursing more than one hundered times. The code in question is:

    412: sub level_angle # (angle) 413: { 414: my $a = shift; 415: return level_angle($a-360) if ( $a > 180 ); 416: return level_angle($a+360) if ( $a <= -180 ); 417: return $a; 418: }

    The only way that I can see that this sub could recurse >100 times (and implicate line 415) is if $a > 100 * 360. If $a is undef it will just get returned. You could trace back to see why this should be so but I expect fixing the typo may fix it.

    cheers

    tachyon

    s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://134047]
Approved by root
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2024-04-23 15:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found