NAME
Acme::AwesomeQuotes - Make your text awesome!
VERSION
version 0.02
SYNOPSIS
use Acme::AwesomeQuotes;
my $awesome_text = GetAwesome('Wyld Stallyns');
say q(I'm Bill S. Preston, Esquire!);
say q(And I'm Ted "Theodore" Logan!);
say ('And we are ', $awesome_text, '!');
DESCRIPTION
Tired of ordinary quotation marks that lack punch?
Looking for something that can better convey just how *awesome* your
words are?
You need `àwesome quoteś´!
FUNCTIONS
GetAwesome
"GetAwesome()" is the module’s only function, and is exported by
default. It takes a single scalar string argument, and returns that
string with the following changes applied:
* a grave accent (or backtick, U+0060) is prepended;
* a combining grave accent is added to the first letter;
* a combining acute accent is added to the final letter;
* an acute accent (U+00B4) is appended;
In addition, leading/trailing whitespace and punctuation is stripped,
and the returned string is in NFC.
Combining characters already present in the string are respected, and
existing initial/terminal grave/acute accents will not be doubled.
However, in cases where both a grave and acute accent may be applied –
such as if the initial letter has an acute accent, or if the string
consists of only a single letter – a caron is used instead, because
combining grave and acute accents on the same character doesn’t look so
hot. :)
LIMITATIONS
* N.B. that the first and last characters of the supplied string must
be *letters*; leading/trailing whitespace and punctuation will be
stripped, and if the resulting first/last character is not a letter
an exception will be raised. Letters may be from any script covered
by Unicode. Because leading/trailing punctuation is stripped, if
your text is to go e.g. at the end of a sentence, you should apply
the full-stop *after* calling "GetAwesome()".
* The returned string is in NFC; combining accents will therefore
occur as separate characters only if there is no code point for the
corresponding character+accent.
* A string that is already in `àwesome quoteś´ cannot be made *more*
awesome by calling the function on it repeatedly. :)
BUGS
None known, doubtless many undiscovered.
SEE ALSO
Acme::LeetSpeak
<http://search.cpan.org/~jmadler/Acme-LeetSpeak-0.01/lib/Acme/LeetSpeak.
pm>
ACKNOWLEDGEMENTS
Thanks to the regulars on <irc://irc.perl.org/perl> for the idea. Thanks
to Ævar Arnfjörð Bjarmason (avar, <http://search.cpan.org/~avar/>) for
helpful suggestions on packaging.
AUTHOR
Marcus Smith <carwash@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by Marcus Smith.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.