You need tp pass starting directory to argument to your program "prog.pl
c:\"
might also consider ...
> #!/bin/perl
>
> use strict;
> use Cwd;
>
> my ($startpath, $cwd, $startat, $list);
>
> $startpath = $ARGV[0];
> $cwd = getcwd();
>
> chdir $startpath;
> $startpath = getcwd();
>
> sub godown($@);
..dont think you need this anymore...
> &godown($startpath);
...this would be beter as,
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;
> }
> }
----- Original Message -----
From: "Anthony Kong" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, January 14, 2003 4:37 AM
Subject: find2perl
> 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]
>
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]