On Wed, 24 Jul 2002, McCormick, Rob E wrote:

> 
> I read (ok, skimmed...)  the results from perldoc -m cwd.  I don't
> understand cwd (current working directory).  My questions apply to this
> general scenario:
> 
> In practice, I'd like to work with my .pl or .plx files in say, /myhome/bin/
> 
> Suppose I want to do some looping on some files in /data/path/files, or even
> on NT

You can do this by using the glob operator (perldoc -f glob), opendir, 
readdir, closedir (perldoc -f opendir, perldoc -f readdir, perldoc -f 
closedir). If you want to traverse /data/path/files recursively you can
use File::Find (perldoc File::Find)

$dir is the directory that you want to loop through. Run both the glob and
opendir, readdir, closedir examples, you will notice the different form of
output.

# glob
while (<$dir/*>) {
    print "$_\n";
}

# opendir, readdir, closedir
opendir(DIRHNDL, $dir) or
    die "Cannot open $dir : $!\n";
while (my $file = readdir(DIRHNDL)) {
    print "$file\n";
}
closedir(DIRHNDL);

# File::Find
find (sub { print "$File::Find::name\n" }, $dir);

> 
> \\hostname\d$\inetpub\wwwroot\virtualdir
> 
> Would use Cwd; even be necessary?

For just looping through the files in a directory no, but depends
on what you are trying to do.

> What are some scenarios you've used Cwd.pm in the past?
> Why?

When you are changing directories (perldoc -f chdir) in your program a 
lot, Cwd.pm can be used to get your current working directory. There 
was a thread in this list about pushd and popd that had an example of 
Cwd's use. 

> 
> If all files to be looped over are in, say, /data/path/files is it used to
> declare in pseudocode:
> 
> <<define working directory as /data/path/files >>
> 
> The docs note: It is recommended that cwd (or another *cwd() function) is
> used in all code to ensure portability.
> 
> Rob
> --
> Rob McCormick
> 
> 
> 
> 
> 
> 


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to