Acme-MetaSyntactic
view release on metacpan or search on metacpan
lib/Acme/MetaSyntactic.pm view on Meta::CPAN
=item C<use Acme::MetaSyntactic ':all';>
This exports the C<metaname()> function and the meta* functions for
B<all> themes. C<metaname()> default to the standard default theme (C<foo>).
=item C<use Acme::MetaSyntactic::theme;>
This exports the C<metaI<theme>()> function only. The C<metaname()>
function is not exported.
=back
=head1 THEMES
The list of available themes can be obtained with the following one-liner:
$ perl -MAcme::MetaSyntactic -le 'print for Acme::MetaSyntactic->themes'
The themes are all the C<Acme::MetaSyntactic::I<theme>> classes, with
I<theme> starting with a lowercase letter.
The items that make up Acme::MetaSyntactic themes are finite lists of
valid Perl identifiers (not the UTF-8 kind).
=head2 Theme behaviours
C<Acme::MetaSyntactic> provides theme authors with the capability of creating
theme "behaviours". Behaviours are implemented as classes from which the
individual themes inherit.
The behaviours are all the C<Acme::MetaSyntactic::I<type>> classes, with
I<type> starting with an uppercase letter.
Here are the available behaviours:
=over 4
=item C<Acme::MetaSyntactic::List>
The theme is a simple collection of names. An object instance will
return names at random from the list, and not repeat any until the list
is exhausted.
=item C<Acme::MetaSyntactic::Locale>
The theme is made of several collections of names, each associated with
a "language". The language is either passed as a constructor parameter,
extracted from the environment or a default is selected.
=item C<Acme::MetaSyntactic::MultiList>
The theme is made of several collections of names, each associated with
a "category". Categories can include sub-categories, etc, I<ad infinitum>
(or when disk space or memory is exhausted, whichever happens first).
The category is either passed as a constructor parameter or the default
value is selected.
=item C<Acme::MetaSyntactic::Alias>
The theme is simply an alias of another theme. All items are identical,
as the original behaviour. The only difference is the theme name.
=back
Over time, new theme "behaviours" will be added.
=head1 SEE ALSO
L<Acme::MetaSyntactic::Themes>, L<meta>, L<metafy>.
=head1 AUTHOR
Philippe 'BooK' Bruhat, C<< <book@cpan.org> >>
=head1 BUGS
Please report any bugs or feature requests to
C<bug-acme-metasyntactic@rt.cpan.org>, or through the web interface at
L<http://rt.cpan.org>. I will be notified, and then you'll automatically
be notified of progress on your bug as I make changes.
If you think this modules lacks a particular set of metasyntactic
variables, please send me a list, as well as a generation algorithm
(either one of the built-ins (C<Acme::MetaSyntactic::List>,
C<Acme::MetaSyntactic::Locale>), or a new one of your invention).
=head1 ACKNOWLEDGEMENTS
Individual contributors are listed in the individual theme files.
Look at the included F<CONTRIBUTORS> file for the list of all
contributors (43 in this version).
However, this module could not have been possible without:
=over 4
=item *
Some sillyness
See L<http://use.perl.org/~BooK/journal/22301>,
the follow-up L<http://use.perl.org/~BooK/journal/22710>,
and the announce L<http://use.perl.org/~BooK/journal/22732>.
=item *
The Batman serial from the 60s (it was shown in France in the 80s).
my wife loves it, I name most of my machines after the bat fight sound
effects (C<zowie>, C<klonk>, C<zlonk>), and I even own a CD of the serial's
theme music and the DVD of the movie (featuring the batboat and the batcopter!).
=item *
Rafael Garcia-Suarez,
who apparently plans to use it. Especially now that it's usable in
one-liners.
=item *
( run in 1.400 second using v1.01-cache-2.11-cpan-39bf76dae61 )