Ciao,
i DBM sono quasi sempre meglio.
Gli unici svantaggi sono che nel caso di DB costituiti da piccoli file occupano più spazio, infatti se non ricordo male un file DBM appena creato occupa già qualche Kbyte (forse 12), l'altro svantaggio e che devi avere accesso ai moduli appropriati e il codice è un pò più complesso.
Per il resto sono sicuramente meglio in tutto.
Comunque se si devono o si vogliono usare file di testo è bene imitare quanto più possibile il comportamento dei DBM, quindi evitare come la peste cose del genere:
open (FILE, "file.dat");
@file = <FILE>;
close FILE;
meglio:
open (FILE, "file.dat");
while (<FILE>) {
....
}
close FILE;
ancora meglio:
use Tie::File;
$o = tie @array, 'Tie::File', './file.dat' or die "Non posso aprire file.dat: $!\n";
...
undef $o;
untie @array;
Ciao.

Rispondi quotando