Sub-Multi-Tiny
view release on metacpan or search on metacpan
lib/Sub/Multi/Tiny.pm view on Meta::CPAN
=head1 DEBUGGING
For extra debug output, set L<Sub::Multi::Tiny::Util/$VERBOSE> to a positive
integer. This has to be set at compile time to have any effect. For example,
before creating any multisubs, do:
use Sub::Multi::Tiny::Util '*VERBOSE';
BEGIN { $VERBOSE = 2; }
=head1 RATIONALE
=over
=item *
To be able to use multisubs in pre-5.14 Perls with only built-in
language facilities. This will help me make my own modules backward
compatible with those Perls.
=item *
To learn how it's done! :)
=back
=head1 SEE ALSO
I looked at these but decided not to use them for the following reasons:
=over
=item L<Class::Multimethods>
I wanted a syntax that used normal C<sub> definitions as much as possible.
Also, I was a bit concerned by LPALMER's experience that it "does what you
don't want sometimes without saying a word"
(L<Class::Multimethods::Pure/Semantics>).
Other than that, I think this looks pretty decent (but haven't tried it).
=item L<Class::Multimethods::Pure>
Same desire for C<sub> syntax. Additionally, the last update was in 2007,
and the maintainer hasn't uploaded anything since. Other than that, I think
this also looks like a decent option (but haven't tried it).
=item L<Dios>
This is a full object system, which I do not need in my use case.
=item L<Logic>
This one is fairly clean, but uses a source filter. I have not had much
experience with source filters, so am reluctant.
=item L<Kavorka::Manual::MultiSubs> (and L<Moops>)
Requires Perl 5.14+.
=item L<MooseX::MultiMethods>
I am not ready to move to full L<Moose>!
=item L<MooseX::Params>
As above.
=item L<Sub::Multi>
The original inspiration for this module, whence this module's name.
C<Sub::Multi> uses coderefs, and I wanted a syntax that used normal
C<sub> definitions as much as possible.
=item L<Sub::SmartMatch>
This one looks very interesting, but I haven't used smartmatch enough
to be fully comfortable with it.
=back
=head1 SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Sub::Multi::Tiny
You can also look for information at:
=over
=item * GitHub: The project's main repository and issue tracker
L<https://github.com/cxw42/Sub-Multi-Tiny>
=item * MetaCPAN
L<Sub::Multi::Tiny>
=item * This distribution
See the tests in the C<t/> directory distributed with this software
for usage examples.
=back
=head1 BUGS
=over
=item * It's not as tiny as I thought it would be!
=item * This isn't Damian code ;) .
=back
=head1 AUTHOR
Chris White E<lt>cxw@cpan.orgE<gt>
=head1 LICENSE
( run in 1.966 second using v1.01-cache-2.11-cpan-e86d8f7595a )