---
name: "Net::Akismet"
section: "3pm"
platform: "linux"
package: "libnet-akismet-perl"
version: "0.05-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::Akismet"
---

# Net::Akismet(3pm)

Perl interface to Akismet - comment and trackback spam fighter

## NAME

Net::Akismet - Perl interface to Akismet - comment and trackback spam fighter

## SYNOPSIS

```
        my $akismet = Net::Akismet->new(
                        KEY => 'secret-baba-API-key',
                        URL => 'http://example.blog.net/',
                ) or die('Key verification failure!');
        my $verdict = $akismet->check(
                        USER_IP                         => '10.10.10.11',
                        COMMENT_USER_AGENT      => 'Mozilla/5.0',
                        COMMENT_CONTENT         => 'Run, Lola, Run, the spam will catch you!',
                        COMMENT_AUTHOR          => 'dosser',
                        COMMENT_AUTHOR_EMAIL    => 'dosser@subway.de',
                        REFERRER                => 'http://lola.home/',
                ) or die('Is the server here?');
        if ('true' eq $verdict) {
                print "I found spam. I am a spam-founder!\n";
        }
```

## METHODS

- **new()**

  ```
          Net::Akismet->new(PARAM => ...);
  ```

  Acceptable parameters:

  - KEY

    The API key being verified for use with the API.

  - URL

    The front page or home URL of the instance making the request.  For a blog or wiki this would be the front page.

  - USER\_AGENT

    If supplied the value is prepended to this module's identification string to become something like:

    ```
            your-killer-app/0.042 Perl-Net-Akismet/0.01 libwww-perl/5.8
    ```

    Otherwise just Akismet Perl's user agent string will be sent.

  - SERVICE\_HOST

    If supplied, the host of the service API. The default is rest.akismet.com

  - SERVICE\_VERSION

    If supplied, the API version. The default is 1.1

  If verification of the key was unsuccessful `"new()"` returns `"undef"`.

- **check()**

  ```
          $akismet->check(USER_IP => ..., COMMENT_CONTENT => ..., ...)
  ```

  To be or not to be... `"check"` is meant to tell you.  Give it enough details about the comment and expect `'true'`, `'false'` or `"undef"` as a result.  `'true'` means **spam**, `'false'` means **not spam**, `"undef"` is returned on error in submission of the comment.

  Acceptable comment characteristics:

  - USER\_IP

    **Required.**  Represents the IP address of the comment submitter.

  - COMMENT\_USER\_AGENT

    **Required.**  User agent string from the comment submitter's request.

  - COMMENT\_CONTENT

    Comment text.

  - REFERRER

    HTTP `"Referer"` header.

  - PERMALINK

    Permanent link to the subject of the comment.

  - COMMENT\_TYPE

    May be blank, 'comment', 'trackback', 'pingback', or a made up value like 'registration'.

  - COMMENT\_AUTHOR

    Name of submitter.

  - COMMENT\_AUTHOR\_EMAIL

    Submitter e-mail.

  - COMMENT\_AUTHOR\_URL

    Submitter web page.

- **spam()**

  Reports a certain comment as spam.  Accepts the same arguments as `"check()"`.

  In case of failed submission returns `"undef"`, otherwise - a perl-known truth.

- **ham()**

  This call is intended for the marking of false positives, things that were incorrectly marked as spam.  It takes identical arguments as `"check()"` and `"spam()"`.

  In case of failed submission returns `"undef"`, otherwise - a perl-known truth.

## NOTES

Although almost all comment characteristics are optional, performance can drop dramatically if you exclude certain elements.  So please, supply as much comment detail as possible.

## SEE ALSO

- •

  http://akismet.com/

- •

  http://akismet.com/development/api/

## AUTHOR

Nikolay Bachiyski \<nb@nikolay.bg\>

### Help, modifications and bugfixes from:

- •

  Peter Pentchev

- •

  John Belmonte

## COPYRIGHT AND LICENSE

Copyright (C) 2006, 2007, 2008 by Nikolay Bachiyski

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.

`$Id:` Akismet.pm 38 2008-06-05 17:15:12Z humperdink $
