Troels Liebe Bentsen > IO-Buffered-1.00 > IO::Buffered::Regexp

Download:
IO-Buffered-1.00.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 1.00   Source  

NAME ^

IO::Buffered::Regexp - Regular expression buffering

DESCRIPTION ^

SYNOPSIS ^

METHODS ^

new($regexp, MaxSize => 0..Inf, Double => 0|1, ReturnsLast => 0|1)

The IO::Buffered::Regexp buffer type takes a regular expression as input and splits records based on that. Only the match defined in the () is returned and not the complete match.

The options MaxSize and Double are optional.

MaxSize provides a limit on how big a buffer can grow, when the limit is hit an exception is thrown.

Double defines the how the regexp is used to extract new items and remove old data from the buffer. By default a while loop is used that grabs and removes one item at a time from the buffer. If Double is defined another method is used:

    my @records = ($self->{buffer} =~ /$regexp/g);
    $self->{buffer} =~ s/$regexp//g;

This might be faster in some cases and slower in others.

ReturnsLast sets what the returns_last() returns, this is used by the "Split" buffer type to return the correct value as it is just a wrapper.

flush($str, ...)
buffer()
write($str, ...)
read()
returns_last()
read_last()

AUTHOR ^

Troels Liebe Bentsen <tlb@rapanden.dk>

COPYRIGHT ^

Copyright(C) 2008 Troels Liebe Bentsen

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

syntax highlighting: