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.350 second using v1.01-cache-2.11-cpan-d80b1682f3f )