sifukurt wrote (in the POD) "It does offer a degree of security".

Actually, I would tend to disagree as it's a simple substitution cipher. Anyone trying to read the output is going to realize that it's terribly random and, if they want to know what it contains, will quickly decipher it. Steganography is an information hiding technique that works best when combined with true encryption. Make your module inherit from another, have the user supply a secret (or work out a public key system?), encrypt the data and then run your module over it. If someone realizes that the "play" is hiding something, they'll still have the encryption hurdle to climb. Alternately, give the user the choice of encryption system, keylength, and maybe the choice of symmetric or public keys. Until then, this should be in the Acme:: namespace.

Fun module, though :)

Side notes: You require Exporter but don't use it.

Too many globals will make it tough to maintain.

Abstract out "magic" variables. For example:

if ( $name =~ /^\[/ && ! $val ) {

It's not immediately clear that stage directions indicate a newline. You have to search for this snippet to understand:

sub StageDirections { return "[ " . RandomElement( \@Names ) . " " . RandomElement( \@Ac +tions ) . ". ]\n"; }

Take out the "[" and replace it with something from this:

my %stage_direction_delimiter = ( left => '[', right => ']' );

I realize that this variable name is too long, but you get the idea. If someone wants to "tweak" things, they'll thank you!

Cheers,
Ovid

Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.


In reply to (Ovid) Re: Requesting feedback by Ovid
in thread Requesting feedback by sifukurt

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.