404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.149.236.120: ~ $
package SDBM_File;

use strict;
use warnings;

require Tie::Hash;
require XSLoader;

our @ISA = qw(Tie::Hash);
our $VERSION = "1.14";

our @EXPORT_OK = qw(PAGFEXT DIRFEXT PAIRMAX);
use Exporter "import";

XSLoader::load();

1;

__END__

=head1 NAME

SDBM_File - Tied access to sdbm files

=head1 SYNOPSIS

 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{newkey} = newvalue;
 print $h{oldkey}; 
 ...

 untie %h;

=head1 DESCRIPTION

C<SDBM_File> establishes a connection between a Perl hash variable and
a file in SDBM_File format.  You can manipulate 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.

=head2 Tie

Use C<SDBM_File> with the Perl built-in C<tie> function to establish
the connection between the variable and the file.

    tie %hash, 'SDBM_File', $basename, $modeflags, $perms;

    tie %hash, 'SDBM_File', $dirfile,  $modeflags, $perms, $pagfilename;

C<$basename> is the base filename for the database.  The database is two
files with ".dir" and ".pag" extensions appended to C<$basename>,

    $basename.dir     (or .sdbm_dir on VMS, per DIRFEXT constant)
    $basename.pag

The two filenames can also be given separately in full as C<$dirfile>
and C<$pagfilename>.  This suits for two files without ".dir" and ".pag"
extensions, perhaps for example two files from L<File::Temp>.

C<$modeflags> can be the following constants from the C<Fcntl> module (in
the style of the L<open(2)> system call),

    O_RDONLY          read-only access
    O_WRONLY          write-only access
    O_RDWR            read and write access

If you want to create the file if it does not already exist then bitwise-OR
(C<|>) C<O_CREAT> too.  If you omit C<O_CREAT> and the database does not
already exist then the C<tie> call will fail.

    O_CREAT           create database if doesn't already exist

C<$perms> is the file permissions bits to use if new database files are
created.  This parameter is mandatory even when not creating a new database.
The permissions will be reduced by the user's umask so the usual value here
would be 0666, or if some very private data then 0600.  (See
L<perlfunc/umask>.)

=head1 EXPORTS

SDBM_File optionally exports the following constants:

=over

=item *

C<PAGFEXT> - the extension used for the page file, usually C<.pag>.

=item *

C<DIRFEXT> - the extension used for the directory file, C<.dir>
everywhere but VMS, where it is C<.sdbm_dir>.

=item *

C<PAIRMAX> - the maximum size of a stored hash entry, including the
length of both the key and value.

=back

These constants can also be used with fully qualified names,
eg. C<SDBM_File::PAGFEXT>.

=head1 DIAGNOSTICS

On failure, the C<tie> call returns an undefined value and probably
sets C<$!> to contain the reason the file could not be tied.

=head2 C<sdbm 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.

=head1 BUGS AND WARNINGS

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

See L<perlfunc/tie>, L<perldbmfilter>, L<Fcntl>

=cut

Filemanager

Name Type Size Permission Actions
B Folder 0755
CORE Folder 0755
Compress Folder 0755
Data Folder 0755
Devel Folder 0755
Digest Folder 0755
Encode Folder 0755
File Folder 0755
Filter Folder 0755
Hash Folder 0755
I18N Folder 0755
IO Folder 0755
IPC Folder 0755
List Folder 0755
MIME Folder 0755
Math Folder 0755
PerlIO Folder 0755
Scalar Folder 0755
Sub Folder 0755
Sys Folder 0755
Tie Folder 0755
Time Folder 0755
Unicode Folder 0755
asm Folder 0755
asm-generic Folder 0755
auto Folder 0755
bits Folder 0755
gnu Folder 0755
linux Folder 0755
sys Folder 0755
threads Folder 0755
B.pm File 30.72 KB 0644
Config.pm File 3.29 KB 0644
Config.pod File 250.68 KB 0644
Config_git.pl File 409 B 0644
Config_heavy.pl File 53.13 KB 0644
Cwd.pm File 18.1 KB 0644
DB_File.pm File 63.52 KB 0644
DynaLoader.pm File 10.23 KB 0644
Encode.pm File 35.64 KB 0644
Errno.pm File 4.82 KB 0644
Fcntl.pm File 2.11 KB 0644
GDBM_File.pm File 1.51 KB 0644
IO.pm File 469 B 0644
NDBM_File.pm File 2.44 KB 0644
O.pm File 4.11 KB 0644
ODBM_File.pm File 2.33 KB 0644
Opcode.pm File 15.52 KB 0644
POSIX.pm File 19.72 KB 0644
POSIX.pod File 71.98 KB 0644
SDBM_File.pm File 3.46 KB 0644
Socket.pm File 13.24 KB 0644
Storable.pm File 42.23 KB 0644
_h2ph_pre.ph File 28.63 KB 0644
arybase.pm File 2.75 KB 0644
attributes.pm File 3.03 KB 0644
encoding.pm File 22.45 KB 0644
endian.ph File 4.36 KB 0644
errno.ph File 23 B 0644
features.ph File 12.64 KB 0644
lib.pm File 2.23 KB 0644
mro.pm File 9.86 KB 0644
ops.pm File 997 B 0644
re.pm File 8.5 KB 0644
signal.ph File 3.3 KB 0644
stdarg.ph File 2.8 KB 0644
stdc-predef.ph File 921 B 0644
stddef.ph File 12.08 KB 0644
syscall.ph File 86 B 0644
sysexits.ph File 1.26 KB 0644
syslimits.ph File 452 B 0644
syslog.ph File 85 B 0644
threads.pm File 35.69 KB 0644
wait.ph File 83 B 0644