Thanks! That did the trick, I *KNEW* there had to be a better way to do it, I
just didn't know what it was :-)
On Monday 08 April 2002 01:43 pm, John W. Krahn wrote:
> > sub check() {
> > my ($dir,@toCheck) = @_;
> > my $last = @toCheck;
> > my $i;
> > my $valid;
> >
> > # Go to the directory we need to check
> > print "\nEntering $dir\nChecking for $last files\n";
> > chdir($dir) or die "Unable to change to $dir: $!\n";
> > opendir(DIR, $dir) or die "Unable to open $dir: $!\n";
> >
> > # Loop throught the directory we were passed
> > while(my $file = readdir(DIR)) {
> > # First gid rid of those pesky . and .. things
> > if($file eq "." || $file eq "..") {
> > next;
> > }
> >
> > $valid = 0;
> > # Now loop through the array of filenames we were passed
> > for($i = 0; $i < $last && !$valid; $i++) {
> > # Make sure the file exists
> > if ($file eq $toCheck[$i]) {
> > print "\t\- $file.....OK\n";
> > $valid = 1;
> > }
> > }
> >
> > ##
> > # $i not valid
> > #
> > if (!$valid) {
> > #if($file ne "." || $file ne "..") {
> > # If its FUBAR add it to the array, and
> > let us know print "\t\- $file.....ERROR\n";
> > push(@missingFiles,"$dir/$file");
> > #}
> > }
> > }
> >
> > # Be nice and close our directory handle
> > closedir DIR;
> > }
> You are doing _waaay_ too much work to see if a file exists.
>
> sub check() {
> my $dir = shift;
>
> for my $file ( @_ ) {
> if ( -e "$dir/$file" ) {
> print "\t- $file.....OK\n";
> }
> else {
> print "\t- $file.....ERROR\n";
> push @missingFiles, "$dir/$file";
> }
> }
> }
>
>
>
> John
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]