#!/usr/bin/perl use strict; use Getopt::Long; use GDBM_File; our ($g_ifile, $g_ofile, $g_delim, $g_csv); GetOptions( "ifile=s", \$g_ifile, "ofile=s", \$g_ofile, "delimiter=s", \$g_delim, "csv", \$g_csv ); # begin "main" { my ($d, %hash, $k) = (); if (defined($g_delim)) { $d = $g_delim; } else { $d = "\t"; } tie %hash, 'GDBM_File', $g_ifile, &GDBM_READER, 0644; if (defined($g_ofile)) { open(OFILE, ">$g_ofile"); select(OFILE); } print "# key${d}value\n"; foreach $k (keys %hash) { if (defined($g_csv)) { print "\"$k\", \"$hash{$k}\"\n" } else { print "$k$d$hash{$k}\n" } } untie %hash; } # end "main"