# phpman > perldoc > Lingua::Stem::It

## NAME
    [Lingua::Stem::It](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3AIt/markdown) - Porter's stemming algorithm for Italian

## SYNOPSIS
        use [Lingua::Stem::It](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3AIt/markdown);
        my $stems = [Lingua::Stem::It::stem](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3AIt%3A%3Astem/markdown)({ -words => $word_list_reference,
                                             -locale => 'it',
                                             -exceptions => $exceptions_hash,
                                          });

        my $stem = [Lingua::Stem::It::stem_word](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3AIt%3A%3Astemword/markdown)( $word );

## DESCRIPTION
    This module applies the Porter Stemming Algorithm to its parameters, returning the stemmed
    words.

    The algorithm is implemented exactly (I hope :-) as described in:

        <http://snowball.tartarus.org/algorithms/italian/stemmer.html>

    The code is carefully crafted to work in conjunction with the [Lingua::Stem](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem/markdown) module by Benjamin
    Franz, from which I've also borrowed some functionalities (caching and exception list).

## METHODS
### stem
        Stems a list of passed words. Returns an anonymous list reference to the stemmed words.

        Example:

          my $stemmed_words = [Lingua::Stem::It::stem](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3AIt%3A%3Astem/markdown)({ -words => \@words,
                                                       -locale => 'it',
                                                       -exceptions => \%exceptions,
                                  });

### stem_word
        Stems a single word and returns the stem directly.

        Example:

          my $stem = [Lingua::Stem::It::stem_word](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3AIt%3A%3Astemword/markdown)( $word );

### stem_caching
        Sets the level of stem caching.

        '0' means 'no caching'. This is the default level.

        '1' means 'cache per run'. This caches stemming results during a single call to 'stem'.

        '2' means 'cache indefinitely'. This caches stemming results until either the process exits
        or the 'clear_stem_cache' method is called.

    clear_stem_cache;
        Clears the cache of stemmed words

  EXPORT
    None by default.

## AUTHOR
    Aldo Calpini, <dada@perl.it>

## SEE ALSO
     [Lingua::Stem](https://www.chedong.com/phpMan.php/perldoc/Lingua%3A%3AStem/markdown)

## COPYRIGHT
    Copyright (c) Aldo Calpini, <dada@perl.it>. All rights reserved.

    This library is free software; you can redistribute it and/or modify it under the same terms as
    Perl itself.

