cspctec has asked for the wisdom of the Perl Monks concerning the following question:
When I run this, I'm getting the message "Deep recursion on subroutine "main::start" at ./archive.pl at line 14". I know I'm doing something wrong, but I can't figure out what it is. I guess I am missing a "base case" to make the loop stop, but I don't know how to add a base case in this situation.#!/usr/bin/perl -w use strict; my $dir = `pwd`; sub start { foreach (<$dir*>) { print "$_\n" if (-f $_); if (-d $_) { $dir = $_; &start; } } } &start;
Also, this is just a personal project. I don't want to use other perl modules to make it easier. I want to look at each file individually.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: "Deep recursion" error
by BrowserUk (Patriarch) on Jun 28, 2013 at 16:15 UTC | |
|
Re: "Deep recursion" error
by locked_user sundialsvc4 (Abbot) on Jun 28, 2013 at 16:28 UTC | |
|
Re: "Deep recursion" error
by Laurent_R (Canon) on Jun 28, 2013 at 17:55 UTC | |
|
Re: "Deep recursion" error
by RichardK (Parson) on Jun 28, 2013 at 18:07 UTC | |
|
Re: "Deep recursion" error
by cspctec (Sexton) on Jun 28, 2013 at 17:53 UTC | |
by poj (Abbot) on Jun 28, 2013 at 19:07 UTC | |
by cspctec (Sexton) on Jun 28, 2013 at 19:35 UTC |