Main > Free Download Search >

Free mldbm software for linux

mldbm

Sponsored Links
Sponsored Links
Sort by >> Relevance
rss
Secleted [ 0 ] software to compare
Results 1 - 15 of about 6
MLDBM 2.01

MLDBM 2.01


MLDBM is a Perl module to store multi-level hash structure in single level tied hash. more>>
MLDBM is a Perl module to store multi-level hash structure in single level tied hash.

SYNOPSIS

use MLDBM; # this gets the default, SDBM
#use MLDBM qw(DB_File FreezeThaw); # use FreezeThaw for serializing
#use MLDBM qw(DB_File Storable); # use Storable for serializing

$dbm = tie %o, MLDBM [..other DBM args..] or die $!;

This module can serve as a transparent interface to any TIEHASH package that is required to store arbitrary perl data, including nested references. Thus, this module can be used for storing references and other arbitrary data within DBM databases.

It works by serializing the references in the hash into a single string. In the underlying TIEHASH package (usually a DBM database), it is this string that gets stored. When the value is fetched again, the string is deserialized to reconstruct the data structure into memory.

For historical and practical reasons, it requires the Data::Dumper package, available at any CPAN site. Data::Dumper gives you really nice-looking dumps of your data structures, in case you wish to look at them on the screen, and it was the only serializing engine before version 2.00. However, as of version 2.00, you can use any of Data::Dumper, FreezeThaw or Storable to perform the underlying serialization, as hinted at by the SYNOPSIS overview above. Using Storable is usually much faster than the other methods.

<<less
Download (0.010MB)
Added: 2007-05-15 License: Perl Artistic License Price:
892 downloads
MLDBM::TinyDB 0.20

MLDBM::TinyDB 0.20


MLDBM::TinyDB is a Perl module that can help you to create and manipulate structured MLDBM tied hash references. more>>
MLDBM::TinyDB is a Perl module that can help you to create and manipulate structured MLDBM tied hash references.

SYNOPSIS

use MLDBM::TinyDB;
## or
use MLDBM::TinyDB qw/db add_common/;

@common = qw/created updated/; ## optional

$tree = [TABLE, FIELDS_LIST,
[TABLE1, FIELDS_LIST1,
[TABLE2, FIELDS_LIST2],
...
],
...
];

MLDBM::TinyDB::add_common($tree,@common); ## optional
## or
add_common($tree,@common);

%obj = ();
$obj{TABLE} = MLDBM::TinyDB->init(TABLE, $tree);
## or
$obj{TABLE} =
MLDBM::TinyDB->init(TABLE, $tree, undef, $mode, $perms);
## or
$obj{TABLE} = MLDBM::TinyDB->init(TABLE); ## NEVER FIRST TIME

@down = $obj{TABLE}->down; ## TABLE1

$obj{TABLE1} = MLDBM::TinyDB::db(TABLE1);
## or
$obj{TABLE1} = db(TABLE1);

$table = $obj{TABLE}->table; ## TABLE

@down = $obj{TABLE1}->down; ## TABLE2

$obj{TABLE2} = MLDBM::TinyDB::db(TABLE2);
## or
$obj{TABLE2} = db(TABLE2);

@set_recs_indices =
$obj{TABLEn}->set_recs(ARRAYREF_TO_HASHREF,[LIST]);

$up = $obj{TABLE2}->up; ## TABLE1

$aref_of_href = $obj{TABLE}->get_ext_recs;
## or
($aref_of_href, @get_recs_indices) = $obj{TABLE}->get_ext_recs;

$aref_of_href1 = $obj{TABLE}->get_recs; ## NOT THE SAME AS ABOVE
## or
($aref_of_href1, @get_recs_indices1) = $obj{TABLE}->get_recs;

@indices_of_recs_found = $obj{TABLE}->search($criteria, [$limit]);
@indices_of_recs_found = $obj{TABLE}->lsearch($criteria, [$limit]);

@indices_and_sort_field_values = $obj{TABLE}->sort($sort_formula_string);
@indices_and_sort_field_values = $obj{TABLE}->lsort($sort_formula_string);

$obj{TABLEn}->delete([LIST]);
$obj{TABLEn}->last;

MLDBM::TinyDB is MLDBM based module. It allows to create/manipulate data structure of related tables = more-then-flatfile-database. The main idea is to create array reference which will reflect database structure. The first scalar value in the array is table name, next ones are fields names - if the array contains array reference it denotes interior (related) table where first scalar value is that table name (in that case the record will contain the field of the same name as interior table) and the next ones are fields names and so on... If database structure isnt written on disk then that structure is fetched from the array reference and written to disk.

Object is always built from disk structures. To define record you may use any field name except "nodes" which is restricted field name and shouldnt be specified explicitly. created and updated fields are handled internally - if they are specified then: 1)on append record operation time function value is set to created record field 2)on write to existing record operation time function value is set to updated record field. Data get from and set to records are in form of array reference to hash references where hash keys are fields names. The fields names that are interior tables names contain array references. That array store indices (similar to array indices) identifying particular records. Those fields MUST be set to proper values before write records set_recs operation.

<<less
Download (0.010MB)
Added: 2007-07-12 License: Perl Artistic License Price:
837 downloads
DBM::Deep 0.983

DBM::Deep 0.983


DBM::Deep is a pure perl multi-level hash/array DBM. more>>
DBM::Deep is a pure perl multi-level hash/array DBM.

SYNOPSIS

use DBM::Deep;
my $db = DBM::Deep->new( "foo.db" );

$db->{key} = value; # tie() style
print $db->{key};

$db->put(key => value); # OO style
print $db->get(key);

# true multi-level support
$db->{my_complex} = [
hello, { perl => rules },
42, 99,
];

A unique flat-file database module, written in pure perl. True multi-level hash/array support (unlike MLDBM, which is faked), hybrid OO / tie() interface, cross-platform FTPable files, and quite fast. Can handle millions of keys and unlimited hash levels without significant slow-down. Written from the ground-up in pure perl -- this is NOT a wrapper around a C-based DBM. Out-of-the-box compatibility with Unix, Mac OS X and Windows.

<<less
Download (0.053MB)
Added: 2006-12-05 License: Perl Artistic License Price:
1055 downloads
DBD::Mock 0.983

DBD::Mock 0.983


DBM::Deep is a pure perl multi-level hash/array DBM. more>>
DBM::Deep is a pure perl multi-level hash/array DBM.

SYNOPSIS

use DBM::Deep;
my $db = DBM::Deep->new( "foo.db" );

$db->{key} = value; # tie() style
print $db->{key};

$db->put(key => value); # OO style
print $db->get(key);

# true multi-level support
$db->{my_complex} = [
hello, { perl => rules },
42, 99,
];

A unique flat-file database module, written in pure perl. True multi-level hash/array support (unlike MLDBM, which is faked), hybrid OO / tie() interface, cross-platform FTPable files, and quite fast. Can handle millions of keys and unlimited hash levels without significant slow-down. Written from the ground-up in pure perl -- this is NOT a wrapper around a C-based DBM. Out-of-the-box compatibility with Unix, Mac OS X and Windows.

<<less
Download (0.053MB)
Added: 2006-12-05 License: Perl Artistic License Price:
1053 downloads
Tie::FieldVals 0.40

Tie::FieldVals 0.40


Tie::FieldVals is an array tie for a file of enhanced Field:Value data. more>>
Tie::FieldVals is an array tie for a file of enhanced Field:Value data.

SYNOPSIS

use Tie::FieldVals;
use Tie::FieldVals::Row;

# tie the array
my @records;
my $recs_obj = tie @records, Tie::FieldVals, datafile=>$datafile;

# object methods
my @field_names = $recs_obj->field_names();

This is a Tie object to map the records in an enhanced Field:Value data file into an array. Each file has multiple records, each record has its values defined by a Field:Value pair, with the enhancements that (a) the Value part can extend over more than one line (because the Field names are predefined) and (b) Fields can have multiple values by repeating the Field:Value part for a given field.

Because of its use of the Tie::File module, access to each record is reasonably fast. The Tie::File module also ensures that (a) the whole file doesnt have to be read into memory (b) record changes are written to the file straight away (c) record changes dont require the whole file to be rewritten, just the part of the file after the change.

The advantage of this setup is that one can have useful data files which are plain text, human readable, human editable, and at the same time able to be accessed faster than using XML (I know, I wrote a version of my reporting software using XML data, and even the fastest XML parsers werent as fast as this setup, once there were a reasonable number of records). This also has advantages over a simpler setup where values are given one per line with no indication of what value belongs to what field; the problems with that is that it is harder to fix corrupted data by hand, and it is harder to add new fields, and one cant have multi-line data.

It is likewise better than a CSV (Comma-Separated Values) file, because again, with a CSV file, the data is positional and therefore harder to fix and harder to change, and again one cant have multi-line data.

This module is both better and worse than file-oriented databases like DB_File and its variants and extensions (such as MLDBM). This module does not require that each record have a unique key, and the fact that a DBM file is binary makes it not only less correctable, but also less portable. On the downside, this module isnt as fast.

Naturally, if ones data needs are more complex, it is probably better to use a fully-fledged database; this is oriented towards those who dont wish to have the overhead of setting up and maintaining a relational database server, and wish to use something more straightforward.

This comes bundled with other support modules, such as the Tie::FieldVals::Row module. The Tie::FieldVals::Select module is for selecting and sorting a sub-set from a Tie::FieldVals array, and the Tie::FieldVals::Join is a very simple method of joining two files on a common field.

This distribution includes the fv2xml script, which converts a Tie::FieldVals data file into an XML file, and xml2fv which converts an XML file into a Tie::FieldVals data file.

<<less
Download (0.053MB)
Added: 2007-08-21 License: Perl Artistic License Price:
794 downloads
Puppet::Any 0.04

Puppet::Any 0.04


Puppet::Any provides a common base class for lab development tools. more>>
Puppet::Any provides a common base class for lab development tools.

Puppet::* classes are designed to provide an access to the "puppeted" object using a GUI based on Tk.

The basic idea is when you construct a Puppet::* object, you have all the functionnality of the object without the GUI. Then, when the need arises, you may (or the class may decide to) open the GUI of the object and then the user may perform any interactive he wishes.

On the other hand, if the need does not arise, you may instanciate a lot of objects without cluttering your display.

For instance, if you have an object (say a ProcessGroup) controlling a set of processes (Process objects). The user may start the ProcessGroup through its GUI. Then all processes are run. If one of them fails, it will raise its own GUI to display the cause of the problem and let the user decide what to do.
This class named Puppet::Any is the base class inherited by all other Puppet classes. In this example, Process and Process group both will inherit Puppet::Any.

The base class features : - A Tk::Multi::Manager to show or hide the different display of the base class (or of the derived class) - A menu bar - An event log display so derived object may log their activity - A Debug log display so derived object may log their "accidental" activities - An Object Scanner to display the attribute of the derived object - A set of functions to managed "has-a" relationship between Puppet objects. The menu bar feature a "content" bar which enabled the user to open the display of all "contained" objects. - a facility to store data on a database file tied to a hash.

The class is designed to store its data in a SINGLE entry of the database file. (For this you should use MLDBM if you want to store more than a scalar in the database). The key for this entry is "$keyRoot;$name". keyRoot and name being passed to the constructor of the object. Needless to say, its a bad idea to create two instances of Puppet::WithDb with the same keyRoot and name.

<<less
Download (0.008MB)
Added: 2007-03-29 License: Perl Artistic License Price:
939 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 1
  • 1