MirOS Manual: ODBM_File(3p)

ODBM_File(3p)   Perl Programmers Reference Guide    ODBM_File(3p)


     ODBM_File - Tied access to odbm files


      use Fcntl;   # For O_RDWR, O_CREAT, etc.
      use ODBM_File;

       # Now read and change the hash
       $h{newkey} = newvalue;
       print $h{oldkey};

       untie %h;


     "ODBM_File" establishes a connection between a Perl hash
     variable and a file in ODBM_File format;.  You can manipu-
     late the data in the file just as if it were in a Perl hash,
     but when your program exits, the data will remain in the
     file, to be used the next time your program runs.

     Use "ODBM_File" with the Perl built-in "tie" function to
     establish the connection between the variable and the file.
     The arguments to "tie" should be:

     1.  The hash variable you want to tie.

     2.  The string "ODBM_File".  (Ths tells Perl to use the
         "ODBM_File" package to perform the functions of the

     3.  The name of the file you want to tie to the hash.

     4.  Flags.  Use one of:

           Read-only access to the data in the file.

           Write-only access to the data in the file.

           Both read and write access.

         If you want to create the file if it does not exist, add
         "O_CREAT" to any of these, as in the example.  If you
         omit "O_CREAT" and the file does not already exist, the
         "tie" call will fail.

     5.  The default permissions to use if a new file is created.
         The actual permissions will be modified by the user's
         umask, so you should probably use 0666 here. (See

perl v5.8.8                2005-02-05                           1

ODBM_File(3p)   Perl Programmers Reference Guide    ODBM_File(3p)

         "umask" in perlfunc.)


     On failure, the "tie" call returns an undefined value and
     probably sets $! to contain the reason the file could not be

     "odbm store returned -1, errno 22, key "..." at ..."

     This warning is emitted when you try to store a key or a
     value that is too long.  It means that the change was not
     recorded in the database.  See BUGS AND WARNINGS below.


     There are a number of limits on the size of the data that
     you can store in the ODBM file.  The most important is that
     the length of a key, plus the length of its associated
     value, may not exceed 1008 bytes.

     See "tie" in perlfunc, perldbmfilter, Fcntl

perl v5.8.8                2005-02-05                           2

Generated on 2017-04-03 16:26:17 by $MirOS: src/scripts/roff2htm,v 1.88 2017/01/29 00:51:06 tg Exp $

These manual pages and other documentation are copyrighted by their respective writers; their source is available at our CVSweb, AnonCVS, and other mirrors. The rest is Copyright © 2002–2017 The MirOS Project, Germany.
This product includes material provided by mirabilos.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.