http://www.perlmonks.org?node_id=622810


in reply to Telephone - Nested Loops

sounds like a great candidate for recursion:

getPhoneNumbers(7); sub getPhoneNumbers { my $maxLength = shift; my $curPhoneNumber = shift || '0'; if($maxLength - 1) { for(my $i = 0; $i < 10; $i++) { getPhoneNumbers($maxLength - 1, $curPhoneNumber.$i); } } else { print $curPhoneNumber, "\n"; } }