---
name: "Regexp::Trie"
section: "3pm"
platform: "linux"
package: "libregexp-trie-perl"
version: "0.02-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Regexp::Trie"
---

# Regexp::Trie(3pm)

builds trie-ized regexp

## NAME

Regexp::Trie - builds trie-ized regexp

## SYNOPSIS

```
  use Regexp::Trie;
  my $rt = Regexp::Trie->new;
  for (qw/foobar fooxar foozap fooza/){
    $rt->add($_);
  }
  print $rt->regexp, "\n" # (?-xism:foo(?:bar|xar|zap?))
```

## DESCRIPTION

This module is a faster but simpler version of Regexp::Assemble or Regexp::Optimizer.  It builds a trie-ized regexp as above.

This module is faster than Regexp::Assemble but you can only add literals.  `"a+b"` is treated as `"a\+b"`, not "more than one a's followed by b".

I wrote this module because I needed something faster than Regexp::Assemble and Regexp::Optimizer.  If you need more minute control, use those instead.

## TIPS

See t/dict2rx.pl to find how to convert a big dictionary into a single regexp that can be later loaded as:

```
  my $rx = do 'dict.rx';
```

### EXPORT

None.

## SEE ALSO

Regexp::Optimizer,  Regexp::Assemble, Regex::PreSuf

## AUTHOR

Dan Kogai, \<dankogai@dan.co.jp\>

## COPYRIGHT AND LICENSE

Copyright (C) 2006 by Dan Kogai

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.8 or, at your option, any later version of Perl 5 you may have available.
