Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Algorithm::AhoCorasick::SearchMachine
implementation and low-level interface of Algorithm::AhoCorasick

Algorithm::AhoCorasick::SearchMachine - implementation and low-level interface of Algorithm::AhoCorasick


NAME

Algorithm::AhoCorasick::SearchMachine - implementation and low-level interface of Algorithm::AhoCorasick


VERSION

Version 0.01


SYNOPSIS


 use Algorithm::AhoCorasick::SearchMachine;

 sub callback {

     my ($pos, $keyword) = @_;

     ...

     return undef;

 }

 $machine = Algorithm::AhoCorasick::SearchMachine->new(@keywords);

 while (<STDIN>) {

     $machine->feed($_, \&callback);

 }


METHODS

new

The constructor. Takes the list of keywords as parameters (there must be at least one, and the constructor dies if they contain an empty string).

feed

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 doesn't do anything), second argument is the callback invoked on each match. feed calls the callback with 2 arguments: the position and the matched keyword. The callback can stop further search by returning a true value, which feed returns. If the search wasn't stopped, feed returns undef, and can then be called with another chunk of input text to continue the search (matching all keywords, even those spanning multiple chunks). Note that when the callback stops the search, this scenario doesn't work (because the state machine gets out of sync); feed should not be called again on the same instance after the callback returned true. Also note that the position passed to the callback is relative to the current input text chunk; it is negative for keywords spanning multiple chunks.


AUTHOR

Vaclav Barta, <vbar@comp.cz>


COPYRIGHT & LICENSE

Copyright 2007 Vaclav Barta, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy