package Tree::Suffix; use strict; use vars qw($VERSION); $VERSION = '0.04'; require XSLoader; XSLoader::load('Tree::Suffix', $VERSION); *longest_common_substrings = \&lcs; *longest_repeated_substrings = \&lrs; 1; __END__ =head1 NAME Tree::Suffix - Perl interface to the libstree library =head1 SYNOPSIS use Tree::Suffix; $tree = Tree::Suffix->new; $tree = Tree::Suffix->new(@strings); $tree->insert(@strings); $tree->remove(@strings); @lcs = $tree->lcs; @lcs = $tree->lcs($min_len, $max_len); @lcs = $tree->longest_common_substrings; @lrs = $tree->lrs; @lrs = $tree->lrs($min_len, $max_len); @lrs = $tree->longest_repeated_substrings; $num = $tree->strings; $num = $tree->nodes; $tree->clear; $tree->dump; =head1 DESCRIPTION The C module provides an interface to the C library libstree, which implements generic suffix trees. =head1 METHODS =over 4 =item $tree = Tree::Suffix->new =item $tree = Tree::Suffix->new(@strings) Creates a new Tree::Suffix object. The constructor will also accept a list of strings to be inserted into the tree. =item $tree->insert(@strings) Inserts the list of strings into the tree. Returns the number of successfully added strings. =item $tree->remove(@strings) Remove the list of strings from the tree. =item $tree->lcs =item $tree->lcs($min_len, $max_len) =item $tree->longest_common_substrings Returns a list of the longest common substrings. The minimum and maximum length of the considered substrings may also be specified. =item $tree->lrs =item $tree->lrs($min_len, $max_len) =item $tree->longest_repeated_substrings Returns a list of the longest repeated substrings. The minimum and maximum length of the considered substrings may also be specified. =item $tree->strings Returns the total number of strings in the tree. =item $tree->nodes Returns the total number of nodes in the tree. =item $tree->clear Removes all strings from the tree. =item $tree->dump Prints a representation of the tree to STDOUT. =back =head1 EXAMPLE To find the longest palindrome of a string: use Tree::Suffix; $str = 'mississippi'; $tree = Tree::Suffix->new($str, scalar reverse $str); ($pal) = $tree->lcs; print "Longest palindrome: $pal\n"; This would print: Longest palindrome: ississi =head1 SEE ALSO libstree L L L =head1 NOTES A memory leak will be exhibited if you are using a version of libstree < .4.2. =head1 REQUESTS AND BUGS Please report any bugs or feature requests to C, or through the web interface at L. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. =head1 SUPPORT You can find documentation for this module with the perldoc command. perldoc Tree::Suffix You can also look for information at: =over 4 =item * AnnoCPAN: Annotated CPAN documentation L =item * CPAN Ratings L =item * RT: CPAN's request tracker L =item * Search CPAN L =back =head1 COPYRIGHT AND LICENSE Copyright (C) 2006 gray , all rights reserved. Copyright (C) 2003-2006 Christian Kreibich This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =head1 AUTHOR gray, C<< >> =cut