sub getGrams{ my ($self,$sen,$maxSize) = @_; my @grams; $sen =~ s/[^\s\w\'\-\_]/ /g; my @words = split/\s+/,$sen; GRAM: for(my $i = 1; $i <= $maxSize-1; $i++){ for(my $x = 0; $x <= $#words+1; $x++){ my $gram = ''; for(my $y = $x; $y <= $x+$i; $y++){ if($y + $i > $#words+$i){next GRAM;} $gram .= " ".$words[$y]; } $gram =~ s/^ //; push(@grams, $gram); } } return @grams; }