I prefer interpolation over concatenation where possible because it seems less noisy to me. For example, I would change:
my @evil = map($_." evil",@lawful_vs_chaotic);
return $prefix." ".$suffix;
to:
my @evil = map("$_ evil",@lawful_vs_chaotic);
return "$prefix $suffix";
I have not decided whether or not I will ever upload it to CPAN
Your decision should be based on whether your code provides something that is not currently available on CPAN, according to results of a diligent search on your behalf. Does your code provide more functionality? Or, does it do so more efficiently (speed, memory)? Is it more robust or portable than something comparable? Is it more user-friendly (simpler to use, easier to download/install)?
If the answer to any of these questions is 'yes', then I would say it is a candidate for CPAN. In that case, your next step is to create a test suite. And to finish things off, I second ELISHEVA's advice regarding more standard POD sections.