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

NAME

Acme::Opish - Prefix the audible vowels of words

SYNOPSIS

  use Acme::Opish;

  print enop('Hello Aeryk!');
  # Hopellopo Opaeropyk! 

  @opped = enop('five', 'yellow', '/literature/Wuthering_Heights.txt');
  # fopive, yopellopow, /literature/opish-Wuthering_Heights.txt

  @opped = enop('xe', 'ze'));       # xe, ze
  @words = no_silent_e('xe', 'ze');
  @opped = enop('xe', 'ze');        # xope, zope
  @words = has_silent_e('xe', 'ze');
  @opped = enop('xe', 'ze');        # xe, ze

  # Okay.  Why not add anything you want, instead of "op"?
  print enop(-opish_prefix => 'ubb', 'Foo bar?');
  # Fubboo bubbar?

DESCRIPTION

Convert words to Opish, which is similar to "Ubish", but infinitely cooler.

More accurately, this means, add an arbitrary prefix to the vowel groups of words, except for the "silent e" and "starting, non-vowel y's".

Note: This module capitalizes words like you would expect. Maybe a couple examples will elucidate this point:

  enop('Abc') produces 'Opabc'
  enop('abC') produces 'opabC'

Unfortunately, this function, currently converts consecutive spaces and newlines into single spaces and newlines. Yes, this is not a feature, but a bug.

* See the eg/ directory for examples.

EXPORT

enop [-opish_prefix => STRING,] ARRAY

Convert strings or entire text files to opish.

If a member of the given array is a string, it is converted to opish. If it is an existing text file, it is opened and converted to opish, and then saved as "opish-$filename".

If the first member of the argument list is "-opish_prefix", then the next argument is assumed to be the user defined prefix to use in place of "op".

no_silent_e ARRAY

Add the given arguments to the list of words that are to be converted without regard for the "silent e".

This function returns the keys in the "not silent e" list.

has_silent_e ARRAY

Delete the given arguments from the list of words that are to be converted with regard for the "silent e".

This function returns the keys in the "not silent e" list.

TO DO

Make this thing preserve contiguous whitespace.

Go in reverse. That is "deop" text.

Add more "non-silent-e" words to the "OK" list.

THANK YOU

DrForr (A.K.A. Jeff Goff) and DrMath (A.K.A. Ken Williams)

DEDICATION

Hopellopo Opaeropyk!

AUTHOR

Gopene Bopoggs, <gene@cpan.org>

COPYRIGHT AND LICENSE

Copyright 2003 by Gopene Bopoggs

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.