The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Object::Meta::Plugin::Useful::Greedy - a plugin base class which gobbles up reasonable parts of the symbol table at export time.

SYNOPSIS

        package Foo;

        use base 'Object::Meta::Plugin::Useful::Greedy';

        sub ppretty {
                # ...
        }

        sub ver_pretty {
                # ...
        }

        sub ugly { # will not be exported because of the pattern
                # ...
        }

        sub _filter {
                grep {/pretty/} @_;
        }

DESCRIPTION

This is a base class for a pretty standard, pretty easy plugin. When export is called it goes through the symbol table of the plugin's package, as per ref $self, and so forth through all the @ISAs it finds. The functions it finds along the way are collected, and filtered.

METHODS

_filter LIST

This takes a list of method names, and munges it into something. The current example will filter things that don't look pretty, that are a bit too general (new, init, croak), and then fishes out duplicates.

You really should define it in your class, if you want more control of the patterns.

CAVEATS

  • Does not work on classless objects and such. The plugin in question must be a real set of classes.

  • Relies on the non core module Devel::Symdump.

BUGS

Peh! You must be kididgn!

COPYRIGHT & LICENSE

        Copyright 2003 Yuval Kogman. All rights reserved.
        This program is free software; you can redistribute it
        and/or modify it under the same terms as Perl itself.

AUTHOR

Yuval Kogman <nothingmuch@woobling.org>

SEE ALSO

Object::Meta::Plugin, Object::Meta::Plugin::Useful, Object::meta::Plugin::Useful::Generic, Object::Meta::Plugin::Useful::Meta.