Come for the quick hacks, stay for the epiphanies. | |
PerlMonks |
perlfunc:dbmopenby gods (Initiate) |
on Aug 24, 1999 at 22:43 UTC ( [id://340]=perlfunc: print w/replies, xml ) | Need Help?? |
dbmopenSee the current Perl documentation for dbmopen. Here is our local, out-dated (pre-5.6) version: dbmopen - create binding on a tied dbm file
dbmopen HASH,DBNAME,MODE
[This function has been superseded by the tie() function.]
This binds a
If you don't have write access to the DBM file, you can only read hash variables, not set them. If you want to test whether you can write, either use file tests or try setting a dummy hash entry inside an eval(), which will trap the error. Note that functions such as keys() and values() may return huge lists when used on large DBM files. You may prefer to use the each() function to iterate over large DBM files. Example:
# print out history file offsets dbmopen(%HIST,'/usr/lib/news/history',0666); while (($key,$val) = each %HIST) { print $key, ' = ', unpack('L',$val), "\n"; } dbmclose(%HIST); See also the AnyDBM_File manpage for a more general description of the pros and cons of the various dbm approaches, as well as the DB_File manpage for a particularly rich implementation. |
|