#!/usr/bin/perl # # dbcolmerge # Copyright (C) 1991-1998 by John Heidemann # $Id: dbcolmerge,v 1.17 2003/05/23 04:15:42 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') { $elem_seperator = $dbopts->optarg; } else { &usage; }; }; &usage if ($#ARGV < 0); &readprocess_header; $joiner = ''; $code = '$f[$newcolnum] = '; foreach (@ARGV) { die ("$prog: unknown column ``$_''.\n") if (!defined($colnametonum{$_})); push (@oldcolnums, $colnametonum{$_}); push (@oldcolnames, $colnames[$colnametonum{$_}]); $code .= $joiner . '$f[' . $colnametonum{$_} . ']'; $joiner = " . '$elem_seperator' . "; }; $code .= ';'; $newcolname = join($elem_seperator, @oldcolnames); &col_create($newcolname); $newcolnum = $colnametonum{$newcolname}; &write_header(); my($loop) = q[ while () { &pass_comments && next; &split_cols; ] . $code . q[ &write_cols; }; ]; eval $loop; $@ && die "$prog: interal eval error: $@.\n"; print "# | $prog ", join(" ", @orig_argv), "\n"; exit 0;