#!/usr/bin/perl -w # # dbcolize # Copyright (C) 1997-1998 by John Heidemann # $Id: dbcolize,v 1.13 2003/05/23 04:17:11 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 'd') { $debug++; } elsif ($ch eq 'e') { $empty_value = $dbopts->optarg; } else { &usage; }; }; &usage if ($#ARGV != -1); &readprocess_header($list_headertag); &write_header(); &begin_row(); while () { if (/^\s*$/) { &end_row(); &begin_row(); next; }; &pass_comments && next; chomp; my($key, $value) = /^([^:]+):\s+(.*)$/; die("$prog: unparsable line $_ (format should be ''key: value''\n") if (!defined($key)); die("$prog: contents of line contain separator: <$_>\n") if ($value =~ /$fsre/); $value = $empty_value if (!defined($value) || $value eq ''); die ("$prog: unknown column <$key>.\n") if (!defined($colnametonum{$key})); $something_set++; $f[$colnametonum{$key}] = $value; }; &end_row(); sub begin_row { @f = ($empty_value) x ($#colnames+1); $something_set = 0; } sub end_row { return if (!$something_set); &write_cols; } print "# | $prog ", join(" ", @orig_argv), "\n"; exit 0; if (0) { my $x; $x = $list_headertag = $colnames[0] = $fsre; }