# perldoc > Lingua::Stem::Pt

---
type: CommandReference
command: Lingua::Stem::Pt
mode: perldoc
section: 
source: perldoc
---

## Quick Reference
- `Lingua::Stem::Pt::stem({ -words => \@words, -locale => 'pt' })` — Stem an array of Portuguese words.
- `Lingua::Stem::Pt::stem({ -words => \@words, -locale => 'pt', -exceptions => \%exceptions })` — Stem with custom exceptions.
- `Lingua::Stem::Pt::stem_caching(1)` — Enable per-call caching.
- `Lingua::Stem::Pt::stem_caching(2)` — Enable indefinite caching.
- `Lingua::Stem::Pt::clear_stem_cache()` — Clear the stem cache.

## Name
Lingua::Stem::Pt — Stemming algorithm for Portuguese

## Synopsis
perl
use Lingua::Stem::Pt;
my $stems = Lingua::Stem::Pt::stem({
    -words      => $word_list_reference,
    -locale     => 'pt',
    -exceptions => $exceptions_hash,
});
## Options
- `stem({ -words => $word_list_ref, -locale => 'pt', -exceptions => $exceptions_hash })` — Stems a list of Portuguese words. Returns an anonymous array reference of stemmed words.
- `stem_caching($level)` — Sets the caching level:
  - `0` — no caching (default)
  - `1` — cache per run (during a single `stem` call)
  - `2` — cache indefinitely (until process exit or `clear_stem_cache` is called)
- `clear_stem_cache()` — Clears the cache of stemmed words.

## Examples
perl
my $stemmed_words = Lingua::Stem::Pt::stem({
    -words      => \@words,
    -locale     => 'pt',
    -exceptions => \%exceptions,
});
## See Also
- [Lingua::Stem](http://localhost/phpMan.php/perldoc/Lingua%3A%3AStem/markdown)
- [Lingua::PT::Stemmer](http://localhost/phpMan.php/perldoc/Lingua%3A%3APT%3A%3AStemmer/markdown)
- [Lingua::Stemmer::PT](http://localhost/phpMan.php/perldoc/Lingua%3A%3AStemmer%3A%3APT/markdown)
- [Lingua::Stem::Snowball::Pt](http://localhost/phpMan.php/perldoc/Lingua%3A%3AStem%3A%3ASnowball%3A%3APt/markdown)