[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 package SDBM_File; 2 3 use strict; 4 use warnings; 5 6 require Tie::Hash; 7 use XSLoader (); 8 9 our @ISA = qw(Tie::Hash); 10 our $VERSION = "1.06"; 11 12 XSLoader::load 'SDBM_File', $VERSION; 13 14 1; 15 16 __END__ 17 18 =head1 NAME 19 20 SDBM_File - Tied access to sdbm files 21 22 =head1 SYNOPSIS 23 24 use Fcntl; # For O_RDWR, O_CREAT, etc. 25 use SDBM_File; 26 27 tie(%h, 'SDBM_File', 'filename', O_RDWR|O_CREAT, 0666) 28 or die "Couldn't tie SDBM file 'filename': $!; aborting"; 29 30 # Now read and change the hash 31 $h{newkey} = newvalue; 32 print $h{oldkey}; 33 ... 34 35 untie %h; 36 37 =head1 DESCRIPTION 38 39 C<SDBM_File> establishes a connection between a Perl hash variable and 40 a file in SDBM_File format;. You can manipulate the data in the file 41 just as if it were in a Perl hash, but when your program exits, the 42 data will remain in the file, to be used the next time your program 43 runs. 44 45 Use C<SDBM_File> with the Perl built-in C<tie> function to establish 46 the connection between the variable and the file. The arguments to 47 C<tie> should be: 48 49 =over 4 50 51 =item 1. 52 53 The hash variable you want to tie. 54 55 =item 2. 56 57 The string C<"SDBM_File">. (Ths tells Perl to use the C<SDBM_File> 58 package to perform the functions of the hash.) 59 60 =item 3. 61 62 The name of the file you want to tie to the hash. 63 64 =item 4. 65 66 Flags. Use one of: 67 68 =over 2 69 70 =item C<O_RDONLY> 71 72 Read-only access to the data in the file. 73 74 =item C<O_WRONLY> 75 76 Write-only access to the data in the file. 77 78 =item C<O_RDWR> 79 80 Both read and write access. 81 82 =back 83 84 If you want to create the file if it does not exist, add C<O_CREAT> to 85 any of these, as in the example. If you omit C<O_CREAT> and the file 86 does not already exist, the C<tie> call will fail. 87 88 =item 5. 89 90 The default permissions to use if a new file is created. The actual 91 permissions will be modified by the user's umask, so you should 92 probably use 0666 here. (See L<perlfunc/umask>.) 93 94 =back 95 96 =head1 DIAGNOSTICS 97 98 On failure, the C<tie> call returns an undefined value and probably 99 sets C<$!> to contain the reason the file could not be tied. 100 101 =head2 C<sdbm store returned -1, errno 22, key "..." at ...> 102 103 This warning is emitted when you try to store a key or a value that 104 is too long. It means that the change was not recorded in the 105 database. See BUGS AND WARNINGS below. 106 107 =head1 BUGS AND WARNINGS 108 109 There are a number of limits on the size of the data that you can 110 store in the SDBM file. The most important is that the length of a 111 key, plus the length of its associated value, may not exceed 1008 112 bytes. 113 114 See L<perlfunc/tie>, L<perldbmfilter>, L<Fcntl> 115 116 =cut
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |