chkmanifest.pl to HTML.

index -|- end

Generated: Tue Feb 2 17:54:25 2010 from chkmanifest.pl 2008/08/07 2 KB.

#!/perl -w
# NAME: chkmanifest.pl
# AIM: Given a MANIFEST file, check that the directory structure and files
# within match that manifest ...
# 07/08/2008 geoff mclane http://geoffair.net/mperl
use strict;
use warnings;
use File::Basename;
unshift(@INC, 'C:/GTools/perl');
require 'logfile.pl' or die "Unable to load logfile.pl ...\n";
# log file stuff
my ($LF);
my $pgmname = $0;
if ($pgmname =~ /\w{1}:\\.*/) {
    my @tmpsp = split(/\\/,$pgmname);
    $pgmname = $tmpsp[-1];
}
my $outfile = "temp.$pgmname.txt";
open_log($outfile);
my $in_file = 'C:\DTEMP\Data-Section-0.004\MANIFEST';
prt( "$0 ... Checking $in_file ...\n" );
if (-f $in_file) {
    process_file( $in_file );
} else {
    prt( "Error: Can NOT locate $in_file ... check name, location ...\n" );
}
close_log($outfile,0);
exit(0);
########################################
sub unix_2_dos {
   my ($f) = shift;
   $f =~ s/\//\\/g;
   return $f;
}
sub process_file {
    my ($inf) = shift;
    my (@lines, $line, $lncnt, $nm, $dir, $ext);
    my ($i, @files, $ff, $fnd, $failed);
    ($nm, $dir, $ext) = fileparse( $inf, qr/\.[^.]*/ );
    if (open INF, "<$inf") {
        @lines = <INF>;
        close INF;
        $lncnt = scalar @lines;
        prt( "Processing $lncnt lines from $nm$ext ($dir) ...\n" );
        $fnd = 0;
        $failed = 0;
        for ($i = 0; $i < $lncnt; $i++) {
            $line = unix_2_dos(trim_all($lines[$i]));
            if (length($line)) {
                $ff = $dir.$line;
                if (-f $ff) {
                    prt( "$ff - ok\n" );
                    $fnd++;
                } else {
                    prt( "$ff - NOT FOUND\n" );
                    $failed++;
                }
                push(@files, $ff);
            }
        }
        if ($failed) {
            prt( "Found $fnd, BUT $failed WERE NOT FOUND ...\n" );
        } else {
            prt( "SUCCESS: All $fnd files found ...\n" );
        }
    } else {
        prt( "ERROR: Failed to open $inf ... $! ...\n" );
    }
}
# eof

index -|- top

checked by tidy  Valid HTML 4.01 Transitional