The following is based on the example from the docs:
#!/usr/bin/perl
use strict;
use warnings;
use Text::ExtractWords qw(words_count words_list);
my ($str, $str_test);
$str = q|test test the an an words_count function|;
$str_test = $str;
my %hash = ();
my %config = (
minwordlen => 3,
maxwordlen => 7,
locale => "en_US.ISO_8859-1",
);
words_count(\%hash, $str_test, \%config);
for my $key (sort keys %hash){
print "$key -> $hash{$key}\n";
}
$str_test = $str;
print "\n";
my @list = ();
words_list(\@list, $str_test, \%config);
for my $element (@list){
print "$element\n";
}
output:
an -> 2
function -> 1
test -> 2
the -> 1
words_count -> 1
test
test
the
an
an
words_count
function
I expected words that had a min length of 3 and a max length of 7 or is it just me :-)
WinXP, Activestate 5.8, T::WE v0.07