Acme-Taboo

 view release on metacpan or  search on metacpan

lib/Acme/Taboo.pm  view on Meta::CPAN

our $VERSION = "0.01";
our @CENSORED = ('xxx', '***', '???', '(CENSORED)');

sub new {
    my ($class, @list) = @_;
    bless [@list], $class;
}

sub censor {
    my ($self, $str) = @_;
    my $taboo = my $replace = undef; 
    for $taboo (@$self) {
        $replace = $self->_get_replace;
        $str =~ s{$taboo}{$replace}g;
    }
    return $str;
}

sub _get_replace {
    my $self = shift;
    return rand(10) >= 7 ? $self->[int(rand($#{$self} + 1))] : $CENSORED[int(rand($#CENSORED + 1))] ;



( run in 1.269 second using v1.01-cache-2.11-cpan-d80b1682f3f )