[Omaha.pm] Perl and recursion...

Daniel Linder dan at linder.org
Tue Nov 15 09:34:22 PST 2005



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I'm trying to setup a script to recursively step through a directory and
take action on files and directories.  Pretty simple, eh?  



My script runs perfectly well and can handle the files and directory
entries differently, it is only when I recursively call the subroutine
that it fails.  The script recursively dives into the sub-directory,
but when it is done with that directory the recursive call appears to kill
the whole loop.



Here is my code -- what am I missing?



     1        #!/bin/perl -w

2        use strict;

3        

4        sub ProcFiles {

5                my $dir = shift;

6        

7                opendir (DIR, $dir) or die $!;

8        

9                while (my $file = readdir(DIR)) {

10                        next if ( -d "$dir/$file" &&
$file =~ /^\./);

11                        if (-d "$dir/$file") {

12                                printf ("Diving into
\"%s/%s\".\n", $dir, $file);

13
&ProcFiles("$dir/$file");

14                                next;

15                        }

16        

17                        printf ("Adding
\"%s/%s\".\n", $dir, $file);

18                }

19        

20                closedir(DIR);

21        }

22        

23        &ProcFiles ("/tmp");
Dan





- - - - -

"Wait for that wisest of all counselors, time." -- Pericles

"I do not fear computer, I fear the lack of them." -- Isaac
Asimov

GPG fingerprint:6FFD DB94 7B96 0FD8 EADF  2EE0 B2B0 CC47 4FDE 9B68

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFDehwesrDMR0/em2gRAmPOAKCFjcQ3dUGuDjPx1jrr8xPDT57JegCgg/W6
mNoWjzNdW7e1BjjoP0x6VdE=
=kDJ/
-----END PGP SIGNATURE-----
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.pm.org/pipermail/omaha-pm/attachments/20051115/957d7dff/attachment.html


More information about the Omaha-pm mailing list