syedirfan23 has asked for the wisdom of the Perl Monks concerning the following question:
I have a script which poplulates filenames and last modified time of the respective file under a particular directory. I have used DosGlob module to specify the regex.
Sample directory structure is:
//share16/ABC/X/Output/1/
//share16/ABC/X/Output/2/
//share16/ABC/Y/Output/1/
//share16/ABC/Y/Output/2/
Below is the code which does the above and there is further code after this which is out of present context.
use File::DosGlob 'glob'; my @dir_regex = glob "//share16/ABC/*/Output/"; for my $dir (@dir_regex) { find({ wanted => \&process_file, no_chdir => 1 }, $dir) or die $!; } sub process_file { my $dummy = $_; if (-f $dummy) { my $filename = "//share16/TOOLS/report.txt"; open(my $fh, '>>', $filename) or die "Could not open file '$filename' +$!"; my $last_mod_time = ctime(stat($dummy)->mtime); print $fh "$last_mod_time $dummy\n"; } close $fh; }
The script successfully lists down the files under all folders (folder 1, folder 2) under the first directory X but fails immediately when it starts reading the folder Y.
Error: No such file or directory at \\share16\traverse4.pl line 5.I am clueless as to why it is failing as I have tried hardcoding the foldername in @dir_regex but it still fails after listing the files under the first directory.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Perl DosGlob fails after first evaluation of regex
by Monk::Thomas (Friar) on Aug 07, 2015 at 12:44 UTC | |
|
Re: Perl DosGlob fails after first evaluation of regex
by Anonymous Monk on Aug 07, 2015 at 12:37 UTC |