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.