Perla: Contar palabras en un texto
Friday, 5. September 2008 10:53
Hace un par de días, estaba programando un filtro para Spamassassin y necesitaba contar el número de palabras que contenía el mail. El caso es que me dije, esto tiene que estar programado y requeteprogramado ya, por lo que me lancé a buscar ese pedazo de código. Lo bueno de esta mente virtual llamada Internet, es la disparidad de ideas que llevan al mismo sitio, así que decidí poner unas cuantas funciones que hacen lo mismo:
Esta es cosecha propia
sub wc {
my $words = shift;
$words =~ s/[;|,|\.|\:|\?|\!|\/|\)|\=]/ /g;
$words =~ s/\s{2,}/ /g;
return scalar split(/ /,$words);
}
Visto en http://askville.amazon.com/find-code-sample-Perl-word-count-script/AnswerViewer.do?requestId=1037856
#!/usr/bin/perl
use strict;
use warnings;
my %count_of;
while (my $line = <>) { #read from file or STDIN
foreach my $word (split /\s+/, $line) {
$count_of{$word}++;
}
}
print "All words and their counts: \n";
for my $word (sort keys %count_of) {
print "'$word': $count_of{$word}\n";
}
Visto en http://dada.perl.it/shootout/wc.perl.html
use strict; my($nl, $nw, $nc); while() { $nc += length; $nw += scalar(split); $nl += 1; # print "$nl $nw $nc\n"; } print "$nl $nw $nc\n"; exit(0); while (read(STDIN, $_, 4095)) { $_ .= ; $nl += scalar(split(/\n/)); $nc += length; $nw += scalar(split); } print "$nl $nw $nc\n";
– La forma más completa: http://folk.uio.no/einarro/Comp/download.php?file=texcount.pl
– Otro más: http://foundationstone.com.au/HtmlSupport/WebPage/wordcount.html
– Y otro con explicaciones: http://en.literateprograms.org/Word_count_(Perl)
Thema: Perl, Receta | Kommentare (0) | Autor: Iñaki