Hash Table Algorithm
Basset::DB::Table is used to define database tables, ways to load that data into memory and build queries based upon the table information. SYNOPSIS For example, my $table = Basset::DB::Table->new( name => user, primary_column => id, autogenerated => 1, definition => { id =>...
Platforms: *nix
License: Freeware | Size: 143.36 KB | Download (98): Basset::DB::Table Download |
Basset::Container::Hash Perl module implements a layered hash. The easiest way to explain is with an example: my %x = (a => b); tie my %y, Basset::Container::Hash, %x; #<- %x is the parent of y. print $x{a}; #prints b print $y{a}; #prints b (inherited from x) $y{a} = foo; $y{z} = bar;...
Platforms: *nix
License: Freeware | Size: 143.36 KB | Download (94): Basset::Container::Hash Download |
Algorithm::Networksort can create inline comparisons for sorting. SYNOPSIS use Algorithm::Networksort qw(:all); my $inputs = 4; # # Generate the network (a list of comparators). # my @network = nw_comparators($inputs); # # Print the list, and print the graph of the list. # print...
Platforms: *nix
License: Freeware | Size: 15.36 KB | Download (89): Algorithm::Networksort Download |
Tie::Hash::Sorted Perl module presents hashes in sorted order. SYNOPSIS use Tie::Hash::Sorted; my %ages = ( John => 33, Jacob => 29, Jingle => 15, Heimer => 48, Smitz => 12, ); my $sort_by_numeric_value = sub { my $hash = shift; [ sort {$hash->{$b} <=> $hash->{$a}} keys %$hash ];...
Platforms: *nix
License: Freeware | Size: 8.19 KB | Download (87): Tie::Hash::Sorted Download |
Hash::Type module contains pseudo-hashes as arrays tied to a "type" (list of fields). SYNOPSIS use Hash::Type; # create a Hash::Type my $personType = new Hash::Type(qw(firstname lastname city)); # create and populate some hashes tied to $personType tie %wolfgang, $personType, "wolfgang...
Platforms: *nix
License: Freeware | Size: 8.19 KB | Download (97): Hash::Type Download |
Algorithm::Diff is a Perl module to compute `intelligent differences between two files / lists. SYNOPSIS require Algorithm::Diff; # This example produces traditional diff output: my $diff = Algorithm::Diff->new( @seq1, @seq2 ); $diff->Base( 1 ); # Return line numbers, not indices...
Platforms: *nix
License: Freeware | Size: 33.79 KB | Download (93): Algorithm::Diff Download |
Class::Method::hash is a Perl module that helps you create methods for handling a hash value. SYNOPSIS use Class::MethodMaker [ hash => [qw/ x /] ]; $instance->x; # empty $instance->x(a => 1, b => 2, c => 3); $instance->x_count == 3; # true $instance->x = (b => 5, d => 8); # Note this...
Platforms: *nix
License: Freeware | Size: 89.09 KB | Download (105): Class::Method::hash Download |
Tie::Proxy::Hash is a Perl module created to efficiently merge & translate hashes. SYNOPSIS my (%hash, $ref); $ref = tie %hash, Tie::Proxy::Hash, (bart => +{a => 1, b => 2}, maggie => +{a => 5, c => 6, e => 10}, ); $hash{a} == 1; # true $hash{b} == 2; # true (bart supercedes maggie)...
Platforms: *nix
License: Freeware | Size: 19.46 KB | Download (99): Tie::Proxy::Hash Download |
Hash::Merge Perl module merges arbitrarily deep hashes into a single hash. SYNOPSIS use Hash::Merge qw( merge ); my %a = ( foo => 1, bar => [ qw( a b e ) ], querty => { bob => alice }, ); my %b = ( foo => 2, bar => [ qw(c d) ], querty => { ted => margeret }, ); my %c = %{ merge(...
Platforms: *nix
License: Freeware | Size: 7.17 KB | Download (96): Hash::Merge Download |
Tie::Hash::Stack is a Perl module which maintains an array of hashes like a stack. SYNOPSIS use Tie::Hash::Stack qw(pop_hash push_hash merge_hash); my %hash; tie( %hash, "Tie::Hash::Stack" ); # Ties the hash $hash{ 1 } = "one"; $hash{ 2 } = "two"; $hash{ 3 } = "three"; push_hash...
Platforms: *nix
License: Freeware | Size: 6.14 KB | Download (186): Tie::Hash::Stack Download |
Algorithm::SixDegrees is a Perl module that can find a path through linked elements in a set. SYNOPSIS use Algorithm::SixDegrees; my $sd1 = Algorithm::SixDegrees->new(); $sd1->data_source( actors => &starred_in ); $sd1->data_source( movies => &stars_of ); @elems = $sd1->make_link(actors,...
Platforms: *nix
License: Freeware | Size: 11.26 KB | Download (94): Algorithm::SixDegrees Download |
Algorithm::Line::Bresenham is a Perl module that contains a simple pixellated line-drawing algorithm. SYNOPSIS use Algorithm::Line::Bresenham qw/line/; my @points = line(3,3 => 5,0); # returns the list: [3,3], [4,2], [4,1], [5,0] line(3,3 => 5,0, &draw_line); # calls draw_line on each...
Platforms: *nix
License: Freeware | Size: 3.07 KB | Download (140): Algorithm::Line::Bresenham Download |
Hash::Diff::Dispatch allows to execute code depending on difference between hashes. SYNOPSIS my $hash_watcher = Hash::Diff::Dispatch->new( {}, # Sets the starting hash # The events will be called using the order returned # by calling keys on these values... b => &bold, i => &italic,...
Platforms: *nix
License: Freeware | Size: 3.07 KB | Download (101): Hash::Diff::Dispatch Download |
Algorithm::C3 is a module for merging hierarchies using the C3 algorithm. SYNOPSIS use Algorithm::C3; # merging a classic diamond # inheritence graph like this: # # # / # # / # my @merged = Algorithm::C3::merge( D, sub { # extract the ISA array # from the package no...
Platforms: *nix
License: Freeware | Size: 8.19 KB | Download (130): Algorithm::C3 Download |
Algorithm::SkipList is a Perl implementation of skip lists. SYNOPSIS my $list = new Algorithm::SkipList(); $list->insert( key1, value ); $list->insert( key2, another value ); $value = $list->find(key2); $list->delete(key1); This is an implementation of skip lists in Perl. Skip...
Platforms: *nix
License: Freeware | Size: 30.72 KB | Download (117): Algorithm::SkipList Download |
Algorithm::ScheduledPath is a Perl module that helps you to find scheduled paths in a directed graph. SYNOPSIS use Algorithm::ScheduledPath; use Algorithm::ScheduledPath::Path; $graph = new Algorithm::ScheduledPath(); $graph->add_edge( { path_id => R, origin => A, depart_time => 1,...
Platforms: *nix
License: Freeware | Size: 20.48 KB | Download (90): Algorithm::ScheduledPath Download |
Algorithm::Munkres is a Perl extension for Munkres solution to classical Assignment problem for square and rectangular matrices. This module extends the solution of Assignment problem for square matrices to rectangular matrices by padding zeros. Thus a rectangular matrix is converted to square...
Platforms: *nix
License: Freeware | Size: 9.22 KB | Download (100): Algorithm::Munkres Download |
Algorithm::LUHN is a Perl module to calculate the modulus 10 double add double checksum. SYNOPSIS use Algorithm::LUHN qw/check_digit is_valid/; $c = check_digit("43881234567"); print "It worksn" if is_valid("43881234567$c"); $c = check_digit("A2C4E6G8"); # this will cause an error...
Platforms: *nix
License: Freeware | Size: 4.1 KB | Download (510): Algorithm::LUHN Download |
Algorithm::AhoCorasick::SearchMachine provides an implementation and low-level interface of Algorithm::AhoCorasick. Feeds input to the state machine. First (after the instance) argument of this method is the input text (which can be empty, in which case the method doesnt do anything), second...
Platforms: *nix
License: Freeware | Size: 5.12 KB | Download (114): Algorithm::AhoCorasick::SearchMachine Download |
Algorithm::AhoCorasick provides efficient search for multiple strings. Aho-Corasick is a classic (1975) algorithm for locating elements of a finite set of strings within an input text. It constructs a finite state machine from a list of keywords, then uses the machine to locate all occurrences...
Platforms: *nix
License: Freeware | Size: 5.12 KB | Download (144): Algorithm::AhoCorasick Download |