#!/usr/bin/perl # # dbrowdiff # Copyright (C) 1991-1998 by John Heidemann # $Id: dbrowdiff,v 1.18 2003/05/23 04:17:48 johnh Exp $ # # This program is distributed under terms of the GNU general # public license, version 2. See the file COPYING # in $dblibdir for details. # sub usage { print <getopt) { $ch = $dbopts->opt; if ($ch eq 'c') { $incremental_mode = 0; } elsif ($ch eq 'i') { $incremental_mode = 1; } else { &usage; }; }; &usage if ($#ARGV != 0); &readprocess_header; $xf = $colnametonum{$ARGV[0]}; die ("$prog: unknown column name ``$ARGV[0]''.\n") if (!defined($xf)); # # new columns # $absdiff_f = &col_create("absdiff"); $pctdiff_f = &col_create("pctdiff"); &write_header(); $base = undef; while () { &pass_comments && next; &split_cols; if ($base == undef) { $base = $f[$xf]; $absdiff = $pctdiff = 0.0; $pctdiff = "n/a" if ($base == 0); } else { $absdiff = $f[$xf] - $base; $pctdiff = ($absdiff / $base) * 100.0 if ($base != 0); $absdiff = sprintf("$format", $absdiff); $pctdiff = sprintf("$format", $pctdiff); $base = $f[$xf] if ($incremental_mode); }; $f[$absdiff_f] = $absdiff; $f[$pctdiff_f] = $pctdiff; &write_cols; }; print "# | $prog ", join(" ", @orig_argv), "\n"; exit 0;