I am very sorry if this is off topic, working with the Astdb. I have found that for more than just a few keys to work with, it can take quite a while (on the order of many seconds) to grab several values in the astdb using say, asterisk -rx "database show" > output.txt and work with that and then set a new value such as asterisk -rx "database put $key $value". The whole process can take over 1 second for EACH ENTRY which adds up for more than a few keys.
What I do now is dump the entire Astdb using "db_dump185" in about 0.003 ms, and then read the entire Astdb output as a hash and then manipulate key, value pairs that way. The entire process will take me less than 0.020 ms total.
My problem is this. I am unable to find a corresponding way of doing this in reverse. That is, I do not have a corresponding way to write the new values back to the Astdb. The most obvious way of writing to the Astdb is by using PERL's DB_File. I tried compiling DB_File using the Berkeley 1.85 lib and header to no avail. I've had no luck with db_load either.
Anyway, I know this is way off topic but the task has been on my to-do list for quite a while and I'd love to be able to cross it off. If anyone has done anything like this before I would be greatly indebted. Perhaps I need to throw up a bounty on this.