sowais has asked for the wisdom of the Perl Monks concerning the following question:
Hello Monks! I have written a program to compare the file counts between two folders and once matched the files in the second folder are zipped and the ones in the first folder are deleted. My program functions as expected except for the deleting of files in the second folder. Could you please help. This is what I have so far
#!/usr/local/bin/perl use strict; use warnings; use Archive::Zip qw( :ERROR_CODES ); my $directory1 = 'C:\Perl\test'; chdir($directory1) or die "Can't chdir to $directory1 $!"; opendir(DIR1, $directory1) || die "Couldn't opendir: $!\n"; my @files = grep { $_ ne '.' && $_ ne '..' } readdir DIR1; my $a =0 ; foreach(@files){ $a++; } my $directory = 'C:\Perl\compress'; chdir($directory) or die "Can't chdir to $directory $!"; opendir(DIR, $directory) || die "Couldn't opendir: $!\n"; my @files2 = grep { $_ ne '.' && $_ ne '..' } readdir DIR; my $b=0; my $c=0; foreach(@files2){ $b++; } # while loop to try every min for 3 mins if any the file counts a & b +don't match while($c < 3) { if ($a eq $b) { compress(\@files2); unlink @files2; #delete files in the compress folder after + compression is complete unlink @files; #delete files in the test folder; $c=3; } else { print "Count Compare Failed!\n"; sleep 60; @files2 = grep { $_ ne '.' && $_ ne '..' } readdir DIR; $b=0; } $c++; foreach(@files2){ $b++; } } # subroutine to compress the files into one sub compress { my @add_array=@{ $_[0] }; my $obj = Archive::Zip->new(); # new instance foreach (@add_array) { $obj->addFile($_); # add files } if ($obj->writeToFileNamed('testing.zip') != AZ_OK) { # write to di +sk print "Error in archive creation!"; } else { print "Archive created successfully!"; } } closedir(DIR1); closedir(DIR);
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Deleting files in the first folder
by toolic (Bishop) on May 09, 2011 at 23:15 UTC | |
|
Re: Deleting files in the first folder
by GrandFather (Saint) on May 10, 2011 at 03:56 UTC | |
by sowais (Sexton) on May 10, 2011 at 12:44 UTC | |
by GrandFather (Saint) on May 10, 2011 at 20:15 UTC | |
|
Re: Deleting files in the first folder
by Anonymous Monk on May 10, 2011 at 02:06 UTC |