NAME
Text::Pipe::Base - Base class for text pipe segments
SYNOPSIS
package Text::Pipe::My::Segment;
use base 'Text::Pipe::Base';
sub filter {
# blah
}
DESCRIPTION
This is the base class for all text pipe segments. It implements basic behaviour that specific text pipe segments will want to override.
It also overloads the |
operator so you can create stackable pipes like this:
my $stackable_pipe = $pipe1 | $pipe2 | $pipe3;
METHODS
new
-
my $obj = Text::Pipe::Base->new; my $obj = Text::Pipe::Base->new(%args);
Creates and returns a new object. The constructor will accept as arguments a list of pairs, from component name to initial value. For each pair, the named component is initialized by calling the method of the same name with the given value. If called with a single hash reference, it is dereferenced and its key/value pairs are set as described before.
bit_or
-
This subroutine implements the pipe stacking that is invoked by using the
|
operator, as in:my $stackable_pipe = $pipe1 | $pipe2 | $pipe3;
filter
-
Can filter a single string or an reference to an array of strings. Each string is filtered using
filter_single()
. filter_single
-
Filters a single string. In this base class this method just returns the input string unaltered.
init
-
This method is called by the constructor and passed the object so it can be initialized. In this class the method is empty, but it exists so that subclasses can override this method and call
SUPER::init()
.
Text::Pipe::Base inherits from Class::Accessor::Complex, Class::Accessor::Constructor, and Class::Accessor::Constructor::Base.
The superclass Class::Accessor::Complex defines these methods and functions:
mk_abstract_accessors(), mk_array_accessors(), mk_boolean_accessors(),
mk_class_array_accessors(), mk_class_hash_accessors(),
mk_class_scalar_accessors(), mk_concat_accessors(),
mk_forward_accessors(), mk_hash_accessors(), mk_integer_accessors(),
mk_new(), mk_object_accessors(), mk_scalar_accessors(),
mk_set_accessors(), mk_singleton()
The superclass Class::Accessor defines these methods and functions:
_carp(), _croak(), _mk_accessors(), accessor_name_for(),
best_practice_accessor_name_for(), best_practice_mutator_name_for(),
follow_best_practice(), get(), make_accessor(), make_ro_accessor(),
make_wo_accessor(), mk_accessors(), mk_ro_accessors(),
mk_wo_accessors(), mutator_name_for(), set()
The superclass Class::Accessor::Installer defines these methods and functions:
install_accessor()
The superclass Class::Accessor::Constructor defines these methods and functions:
_make_constructor(), mk_constructor(), mk_constructor_with_dirty(),
mk_singleton_constructor()
The superclass Data::Inherited defines these methods and functions:
every_hash(), every_list(), flush_every_cache_by_key()
The superclass Class::Accessor::Constructor::Base defines these methods and functions:
STORE(), clear_dirty(), clear_hygienic(), clear_unhygienic(),
contains_hygienic(), contains_unhygienic(), delete_hygienic(),
delete_unhygienic(), dirty(), dirty_clear(), dirty_set(),
elements_hygienic(), elements_unhygienic(), hygienic(),
hygienic_clear(), hygienic_contains(), hygienic_delete(),
hygienic_elements(), hygienic_insert(), hygienic_is_empty(),
hygienic_size(), insert_hygienic(), insert_unhygienic(),
is_empty_hygienic(), is_empty_unhygienic(), set_dirty(),
size_hygienic(), size_unhygienic(), unhygienic(), unhygienic_clear(),
unhygienic_contains(), unhygienic_delete(), unhygienic_elements(),
unhygienic_insert(), unhygienic_is_empty(), unhygienic_size()
The superclass Tie::StdHash defines these methods and functions:
CLEAR(), DELETE(), EXISTS(), FETCH(), FIRSTKEY(), NEXTKEY(), SCALAR(),
TIEHASH()
BUGS AND LIMITATIONS
No bugs have been reported.
Please report any bugs or feature requests through the web interface at http://rt.cpan.org.
INSTALLATION
See perlmodinstall for information and options on installing Perl modules.
AVAILABILITY
The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit http://www.perl.com/CPAN/ to find a CPAN site near you. Or see http://www.perl.com/CPAN/authors/id/M/MA/MARCEL/.
The development version lives at http://github.com/hanekomu/text-pipe/. Instead of sending patches, please fork this project using the standard git and github infrastructure.
AUTHORS
Marcel Grünauer, <marcel@cpan.org>
COPYRIGHT AND LICENSE
Copyright 2007-2009 by the authors.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.