Table::ParentChild

Fast lookup for Parent-Child relationships
Download

Table::ParentChild Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Publisher Name:
  • Mike Wong
  • Publisher web site:
  • http://search.cpan.org/~mikewong/

Table::ParentChild Tags


Table::ParentChild Description

Fast lookup for Parent-Child relationships Table::ParentChild is a Perl module that implements a cross-linked list in two dimensions. It is ideal for describing the parent-child relationships of large numbers of entities. For maximum speed, Table::ParentChild uses hashes to get access to the table row/column headers, and then traverses a linked- list written in XS. The emphasis of development was on speed first, small memory footprint second, ease-of-use third, and flexibility be damned :^)>.To populate a table, simply build an array of arrays. The first element in the sub-array is the id of the parent. The second element of the sub-array is the id of the child. The third (and optional) element of the sub-array is the quantity. Table::ParentChild will automatically build appropriate headers for the table and populate the table, returning a table object for your lookup pleasure.Be forewarned that ids are implemented as unsigned long integers and quantities are implemented as floating point values. The values you feed the table will be coerced into the appropriate data type, which may cause a failure in translation of the data.SYNOPSIS use Table::ParentChild; my $table = new Table::ParentChild( \@relationships ); my @parents = $table->parent_lookup( $child_id ); my @children = $table->child_lookup( $parent_id ); my $quantity = $table->quantity_lookup( $parent_id, $child_id ); # Alternatively, given a $child_id... my $parent = $table->parent_lookup( $child_id ); my @parents = keys %$parent; foreach my $parent_id ( @parents ) { my $quantity = $parent->{ $parent_id }; print "There are $quantity $child_id in $parent_id\n"; } # Or, given a $parent_id... my $child = $table->child_lookup( $parent_id ); my @children = keys %$child; foreach my $child_id ( @children ) { my $quantity = $child->{ $child_id }; print "There are $quantity $child_id in $parent_id\n"; } Requirements: · Perl


Table::ParentChild Related Software