use Fcntl; # For O_RDWR, O_CREAT, etc. use SDBM_File; tie(%h, 'SDBM_File', 'filename', O_RDWR|O_CREAT, 0666) or die "Couldn't tie SDBM file 'filename': $!; aborting"; # Now read and change the hash $h{count} += 1; print $h{count}; ... untie %h; #### $h{user} = "bob"; #### $h{prefs} = { color => 'red', font => 'large' }; #### server: foo database: stuff table: users |name|age|sex|location| |bob|12|M|Nuke York| |mary|22|F|Lost Angles| table: prefs |name|color|font| |bob|blue|large| |mary|blue|tiny| #### SELECT name FROM prefs WHERE font = 'tiny'; |name| |mary| SELECT name, color, sex FROM users, prefs WHERE color = 'blue'; |name|color|sex| |bob|blue|M| |mary|blue|F| #### $result => [ { name => 'bob', color => 'blue', sex => 'M' }, { name => 'mary', color => 'blue', sex => 'F' } ];