Regexp::Profanity::US - Simple functions for detecting U.S. profanity


Regexp-Common-profanity_us documentation Contained in the Regexp-Common-profanity_us distribution.

Index


Code Index:

NAME

Top

Regexp::Profanity::US - Simple functions for detecting U.S. profanity

SYNOPSIS

Top

  use Regexp::Profanity::US;

  my $degree  = 'definite'; # or 'ambiguous';

  my $profane = profane     ($string, $degree);
  my @profane = profane_list($string, $degree);

DESCRIPTION

Top

This module provides an API for checking strings for strings containing various degrees of profanity, per US standards.

FUNCTIONS

Top

$profane_word = profane($string, $degree)

Check $string for profanity of degree $degree, where $degree eq 'definite' or $degree eq 'ambiguous'

For positive matches, returns TRUE, with TRUE being the first match in the string.

For negative matches, FALSE is returned.

@profane_word = profane_list($string, $degree)

The sub returns a list of all profane words found in $string, or an empty list if none were found.

EXPORT

Top

profane() and profane_list

DEPENDENCIES

Top

Regexp::Common and Regexp::Common::profanity_us

OTHER

Top

There is another module supporting profanity checking, namely Regexp::Common::profanity, but many of the profane words were of European origin and I did not find them profane at all from an American standpoint.

AUTHOR

Top

T. M. Brannon, tbone@cpan.org

Refactored by Matthew Simon Cavalletto, evo@cpan.org.


Regexp-Common-profanity_us documentation Contained in the Regexp-Common-profanity_us distribution.

package Regexp::Profanity::US;

use 5.006;
use strict;
use warnings;
use Carp qw(croak confess);

use Regexp::Common qw/profanity_us/;

require Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw(profane profane_list);
our $VERSION = '1.5';

my $RE = $RE{profanity}{us}{normal}{label}{-keep};

sub profane {
  my $word   = shift or confess 'must supply word to match';
  ( $word =~ /$RE/i )[0] || '0';
}

sub profane_list {
  my $word   = shift or confess 'must supply word to match';
  ( $word =~ /$RE/ig )
}

1;

__END__