以下函数无限地递归,我不明白为什么.它进入条件语句但似乎没有以return语句结束.
use strict;
use warnings;
print fibonacci(100);
sub fibonacci {
my $number = shift;
if ($number == 0) {
print "return 0\n";
return 0;
}
elsif ($number == 1) {
print "return 1\n";
return 1;
}
else {
return fibonacci($number-1) + fibonacci($number-2);
}
}
Run Code Online (Sandbox Code Playgroud)