Why not adopt me?
NAME
Paludis::UseCleaner - Remove cruft from your use.conf
VERSION
version 0.01000307
SYNOPSIS
This module handles the core behaviour of the Use Cleaner, to be consumed inside other applications.
For a "Just Use it" interface, you want paludis-usecleaner.pl and Paludis::UseCleaner::App
my $cleaner = Paludis::UseCleaner->new(
input => somefd,
output => somefd,
rejects => somefd,
debug => fd_for_debugging
dot_trace => fd_for_dot_traces,
( # Optional
display_ui => $object_to_handle_debug_messages
display_ui_class => $classname_to_construct_a_display_ui
display_ui_generator => $coderef_to_generate_object_for_display_ui
)
);
$cleaner->do_work();
METHODS
do_work
$cleaner->do_work();
Executes the various transformations and produces the cleaned output from the input.
ATTRIBUTES
input
$cleaner->input( \*STDIN );
$cleaner->input( $read_fh );
output
$cleaner->output( \*STDOUT );
$cleaner->output( $write_fh );
rejects
$cleaner->rejects( \*STDOUT );
$cleaner->rejects( $write_fh );
debug
$cleaner->debug( \*STDERR );
$cleaner->debug( $write_fh );
dot_trace
$cleaner->dot_trace( \*STDERR );
$cleaner->dot_trace( $write_fh );
display_ui
$cleaner->display_ui( $object );
display_ui_class
$cleaner->display_ui_class( 'Some::Class::Name' );
display_ui_generator
$cleaner->display_ui_generator( sub {
my $self = shift;
....
return $object;
});
PRIVATE METHODS
__tokenize
my @line = __tokenize( $line );
STRIPPED: This method is made invisible to outside code after compile.
__is_empty_line
if( __is_empty_line(@line) ){ }
STRIPPED: This method is made invisible to outside code after compile.
__is_star_rule
if( __is_star_rule(@line) ){ }
STRIPPED: This method is made invisible to outside code after compile.
__tokenparse
my ( $spec, $use, $extras ) = __tokenparse( @line );
STRIPPED: This method is made invisible to outside code after compile.
__extract_flags
my ( @flags ) = __extract_flags( \@tokens );
STRIPPED: This method is made invisible to outside code after compile.
__extract_label
my ( $label ) = __extract_label( \@tokens );
STRIPPED: This method is made invisible to outside code after compile.
_build_display_ui_class
my $class = $cleaner->_build_display_ui_class();
_build_display_ui_generator
my $generator $cleaner->_build_display_ui_generator();
_build_display_ui
my $object = $cleaner->_build_display_ui();
AUTHOR
Kent Fredric <kentnl@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by Kent Fredric <kentnl@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.