in reply to Re^2: DB open segfault
in thread DB open segfault

foreach $keys (%DOC) {@a = split ('\0', $DOC{$keys}); $q = join ('-',@a); print SAL $keys ."=".$q."\n";}
You probably meant (I'm also reformatting the code):
foreach $key (keys %DOC) { @a = split ('\0', $DOC{$key}); $q = join ('-', @a); print SAL $key ."=".$q."\n"; }