Hi, all, I have used find2perl to generate a perl script. Upon execution it gives these message:
Use of uninitialized value in chdir at test.pl line 52. Use of chdir('') or chdir(undef) as chdir() is deprecated at test.pl line 52. This find2perl comes with perl 5.8. Then I want to write a tree-transverse routine on my own. Here is the listing: ============================================================================ ===== #!/bin/perl use strict; use Cwd; my ($startpath, $cwd, $startat, $list); $startpath = $ARGV[0]; $cwd = getcwd(); chdir $startpath; $startpath = getcwd(); sub godown($@); &godown($startpath); sub godown($@){ $startat = shift; print "$startat\n"; if ( -d $startat && ! -l $startat){ $cwd = getcwd(); chdir $startat; my @list = glob("*"); foreach my $f (@list){ #if ( (-d $f) && (!-l $f) && ("$f" != ".") && ("$f" != "..") ){ &godown ("$startat/$f") if -d "$startat/$f" } chdir $cwd; } } ============================================================================ ===== But it does not work. Basically when godown() hit a leaf node (lowest level directory) it just stopped there. Why the foreach loop cannot finish? Regards, Anthony -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]