tie %data_hash, "SDBM_File", "data_dbm_file", O_RDWR|O_CREAT, 0666 || die "Cannot open file 'data_dbm_file': $!\n"; %data_hash = (); $sqlSelect = "SELECT field1, field2 FROM $data_db"; $sth = $dbh->prepare($sqlSelect) || die "Cannot prepare: " . $dbh->errstr(); $sth->execute() or die "Cannot execute: " . $sth->errstr(); while (@data = $sth->fetchrow_array()) { my $data_to_store = crypt($data[1], $private_key); $data_hash{$data[0]} = $data_to_store; } untie %data_hash; $sth->finish();