use AnyDBM_File; ***** @AnyDBM_File::ISA = qw(DB_File GDBM_File NDBM_File); ***** use GDBM_File; ***** use Fcntl; # for O_* values use NDBM_File; use DB_File; tie %oldhash, "NDBM_File", $old_filename, O_RDWR|O_EXCL, 0644; tie %newhash, "DB_File", $new_filename, O_CREAT|O_RDWR; while (($key,$val) = each %oldhash) { $newhash{$key} = $val; }