Hello all,

I am writing a small tool just to update contents of a couple of
directories. The directories are just stored in a flat text file like
this:

d:\updates\Imports\MCM_Import_CSG\Config
d:\updates\Imports\MCM_Import_CSV
[...]
f:\sap_import_prod\bin

I figured, I just leave windows notation and then switch to proper
notation before doing anything.
Well, I did not get very far.
If I do the following

use Data::Dumper;

my $list = "importe.properties";
my @directories;

my $file_types = ("bat|cfg|cmd|properties|pl|xml|xsl|xslt");

open (FILE, "<".$list) or die "cannot open file";
@directories = <FILE>;
close (FILE);

my @files;

foreach my $dir (@directories)
{
        @files = undef;
        chomp;
        $dir =~ s/\\/\//g;
        #if ($dir =~ /[A-Z]{1}:(.+)/)
        #{
        #       $dir = $1;
        #}
        print "DIR: ".$dir."\n";
        opendir(DIR, $dir) or die "cannot open directory: $dir - $!";
        @files = readdir(DIR);
        closedir(DIR);
        print Dumper \@files;
}

the script dies at the die with  - No such file or directory at
importe.pl line 50.

the directories are there, I manually copied each path from the
windows explorer address bar.
If I leave away the drive letter as in the commented out part, then I
do not find the files on the other disk.
I also tried using chdir($dir) and then chdir($Bin).
This only works for the last entry in the list, for the rest, the
script insists that cwd is still $Bin.

What am I doing wrong?

(This is perl, v5.8.8 built for MSWin32-x86-multi-thread) on Windows 2003.
_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to