manu_06 has asked for the wisdom of the Perl Monks concerning the following question:
Can someone help me with this perl script. Currently my perl script is reading files recursively and checking if there is any file with size zero.If so it generates a log file. But instead of just generating a text file as log file, it should first create a directory and the name of the directory should be the one it is reading files from and then generate a log file in that directory. My directory structure: Main Directory/ sub directory/ folder 1 , folder 2... So it should create a directory as "sub directory/log.txt"
#!/usr/local/bin/perl #use strict; #use warnings; use File::Find ; $search = shift || 'c:\Documents and Settings\user\Desktop\batch' ; $outfile = 'C:\Documents and Settings\user\Desktop\output'; open OUTF, ">> $outfile/log.txt" or die print " can't create logfile; +$!"; find sub { push @dirs, $File::Find::name if -d }, $search ; for $dir ( @dirs ) { opendir $dh, $dir or do { warn "Cannot open '$dir' $!" ; next ; } ; opendir( DIR, "$dir" ) ; @files = readdir( DIR ) ; closedir( DIR ) ; foreach $file ( @files ) { if ( -f "$dir/$file") { $filesize = -s "$dir/$file" ; #if ( $file ne "empty.txt" && $file ne "sample.txt" ) { print OUTF "Warning: $dir/$file has size ZERO\n" if ( $filesize == "0" ) ; } } } closedir( $dh ) ; } close OUTF ; exit 0;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Working with the log files
by roboticus (Chancellor) on Sep 20, 2010 at 19:44 UTC | |
by manu_06 (Novice) on Sep 20, 2010 at 20:01 UTC | |
by SuicideJunkie (Vicar) on Sep 20, 2010 at 20:28 UTC | |
by manu_06 (Novice) on Sep 20, 2010 at 21:38 UTC | |
by Anonymous Monk on Sep 21, 2010 at 13:36 UTC | |
|
Re: Working with the log files
by ww (Archbishop) on Sep 21, 2010 at 00:49 UTC | |
|
Re: Working with the log files
by umasuresh (Hermit) on Sep 20, 2010 at 22:16 UTC | |
by FunkyMonk (Bishop) on Sep 21, 2010 at 22:31 UTC | |
|
Re: Working with the log files
by Anonymous Monk on Sep 20, 2010 at 22:50 UTC |