N-grams: Difference between revisions

Added Perl
m (→‎{{header|Wren}}: Library method change - results unaffected.)
(Added Perl)
Line 203:
</pre>
</pre>
 
=={{header|Perl}}==
<syntaxhighlight lang="perl" line>use v5.36;
 
sub n_gram ($n, $line) {
my %N;
map { $N{substr lc($line),$_,$n}++ } 0..length($line)-$n;
%N
}
 
my %bi_grams = n_gram 2, 'Live and let live';
say qq|'$_' - $bi_grams{$_}| for sort keys %bi_grams;
 
say '';
 
my %tri_grams = n_gram 3, 'Live and let live';
say qq|'$_' - $tri_grams{$_}| for sort keys %tri_grams;</syntaxhighlight>
{{out}}
<pre>' a' - 1
' l' - 2
'an' - 1
'd ' - 1
'e ' - 1
'et' - 1
'iv' - 2
'le' - 1
'li' - 2
'nd' - 1
't ' - 1
've' - 2
 
' an' - 1
' le' - 1
' li' - 1
'and' - 1
'd l' - 1
'e a' - 1
'et ' - 1
'ive' - 2
'let' - 1
'liv' - 2
'nd ' - 1
't l' - 1
've ' - 1</pre>
 
=={{header|Phix}}==
2,392

edits