- #!/usr/local/bin/perl
- # -*-Fundamental-*-
- # CAVEAT - this is not a "finished" tool by any stretch of the
- # imagination, and there is virtually 0 chance you'll be able to use
- # it in your own context without tweaking it. (AT LEAST the pathnames
- # in the main while() loop at the bottom!)
- #
- # perl_template - please see the comment at the end!
- #eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- # & eval 'exec perl -S $0 $argv:q'
- # if 0;
- # THE PRECEEDING STUFF EXECS perl via $PATH
- use Carp;
- $| = 1;
- ($Myname = $0) =~ s%^.*/%%;
- $Usage = <<LIT;
- $Myname: usage: $Myname
- LIT
- sub usage
- {
- print STDERR $Usage;
- exit 1;
- }
- sub help
- {
- print STDERR <<LIT;
- $Usage
- $Myname is...
- LIT
- exit 1;
- }
- sub same
- {
- my ($f1, $f2) = @_;
- if (! (-T $f1 && -T $f2))
- {
- my $cmd = "/bin/cmp $f1 $f2";
- # print STDERR "$Myname: binary compare: $cmd\n";
- return ! (system $cmd);
- }
- # print STDERR "$Myname: text compare: $f1 $f2\n";
- if (! open(Y, "<$f1"))
- { print STDERR "$Myname: can't open \"$f1\": $!\n"; return 0; }
- if (! open(T, "<$f2"))
- { close Y; print STDERR "$Myname: can't open \"$f2\": $!\n"; return 0; }
- while (<Y>)
- {
- $y_ = $_;
- $t_ = <T>;
- $y_ =~ s/\$(Author|Date|Header|Id|Locker|Log|Name|RCSfile|Revision|Source|State).*\$/\$XXX\$/g;
- $t_ =~ s/\$(Author|Date|Header|Id|Locker|Log|Name|RCSfile|Revision|Source|State).*\$/\$XXX\$/g;
- if ($y_ ne $t_) { close Y; close T; return 0; }
- }
- $t_ = <T>;
- close Y; close T;
- if ($t_ eq "") { return 1; } else { return 0; }
- }
- # option switch variables get defaults here...
- $Valopt = "default";
- $Boolopt = 0;
- while ($#ARGV >= 0)
- {
- if ($ARGV[0] eq "-boolopt") { $Boolopt = 1; shift; next; }
- elsif ($ARGV[0] eq "-valopt")
- {
- shift; if ($ARGV[0] < 0) { &usage; }
- $Valopt = $ARGV[0]; shift; next;
- }
- elsif ($ARGV[0] eq "-help")
- { &help; }
- elsif ($ARGV[0] =~ /^-/) { &usage; }
- if ($Args ne "") { $Args .= " "; }
- push(@Args, $ARGV[0]);
- shift;
- }
- while (<>)
- {
- chop;
- $file = $_;
- if (! &same("/rlse/4.3.3/$file", "/rlse/4.3.4/$file"))
- { print "\n\n===== $file\n"; system "diff /rlse/4.3.3/$file /rlse/4.3.4/$file"; }
- else
- { print "$file OK\n"; }
- }
- #
- # Note to the esteemed reader:
- #
- # This file is a quick-start template perl script, meant to make it
- # easy to get a new script off the ground. It's _also_ quite
- # possible, therefore, that you're looking at a *descendant* of
- # "perl_template", which might explain certain oddities. (E.g., code
- # with variable names like):
- #
- # my $Valopt = "default";
- # my $Boolopt = 0;
- #
- # (or other cruft that seems to have nothing to do with the task at
- # hand, or incomplete usage information, and so on. Different script
- # based hereupon will be finished to different levels of goodness,
- # depending on the intended purpose, lifetime, audience, my whims,
- # and the time avialable for applying a spit-shine.
- #
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 1339 | Richard Geiger |
CVS_p4_cmp; unfinished, but perhaps worth keeping here until it can be refined. |
23 years ago |