1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
#!/usr/bin/env perl
use strict;
use warnings;
use Data::Dumper;
use feature 'say';
my %words;
my $nb_mots;
while ( my $record = <DATA> ) {
chomp $record;
my @words = split /[,.;]?\s+/, $record ;
foreach my $word ( @words ) {
$words{$word}->[0]++;
$nb_mots++;
}
}
# calcul tf
foreach my $word ( keys %words ) {
$words{$word}->[1] = $words{$word}->[0] / $nb_mots;
}
say Dumper \%words
__DATA__
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent nec nisi ut felis commodo venenatis nec et quam. Vestibulum eu diam tortor. Morbi a facilisis arcu. Vestibulum et pharetra urna, scelerisque lacinia mauris. Phasellus semper felis facilisis magna accumsan hendrerit. Quisque finibus velit id neque mattis, id pharetra neque ultricies. Aliquam erat volutpat. Cras facilisis pellentesque ultricies. Integer vel tincidunt quam. Nunc a maximus sem, et congue turpis.
Aenean in dui vulputate, elementum lacus non, commodo felis. Etiam semper ut est quis mattis. Quisque dictum nibh et ullamcorper suscipit. In venenatis justo consectetur magna vehicula, vitae bibendum ex sagittis. Curabitur condimentum urna sed sagittis laoreet. In ultrices sodales venenatis. Nam consequat, massa ut porttitor condimentum, ex ligula lobortis est, dapibus tristique massa elit eget dui. Ut dictum in diam quis sodales. Duis rhoncus eget tortor a tincidunt. Nunc placerat mauris id ultricies iaculis. Vivamus tristique id metus ullamcorper bibendum. Aliquam quis dolor hendrerit, elementum massa iaculis, placerat lorem. Cras a aliquet augue.
Morbi felis turpis, scelerisque vitae nisl sed, bibendum laoreet dui. Pellentesque tempus convallis ornare. Vestibulum semper nisl augue, eu molestie urna porttitor eu. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi blandit odio a felis posuere pharetra. Nunc fermentum sem a mauris lobortis, et elementum risus dapibus. Maecenas ante orci, molestie nec ante eget, viverra malesuada elit. Aenean at purus iaculis mi auctor euismod. In hac habitasse platea dictumst. In hendrerit auctor urna. Nam ac enim pharetra purus ultrices rutrum. Maecenas at ex ac dui mollis vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
In hac habitasse platea dictumst. Quisque eget molestie metus, nec congue lectus. Pellentesque consequat tortor sit amet varius dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sodales in enim eget luctus. Maecenas in nisi et dui ullamcorper maximus. Phasellus semper a diam sed porta. Sed vel luctus elit. Etiam nulla turpis, aliquet vel dolor id, pharetra convallis risus.
Aliquam lectus quam, tincidunt eget eros nec, laoreet scelerisque felis. Proin ornare, orci in convallis efficitur, sapien ipsum consequat risus, a lobortis felis libero in ex. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed eu lorem a justo dapibus ultricies et a leo. Maecenas feugiat nulla vitae nunc lobortis elementum. Integer luctus egestas sem, id bibendum magna dictum eget. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris eu sapien blandit, maximus nisi nec, consequat ipsum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque placerat euismod felis quis consequat. Etiam sed pharetra felis. Fusce volutpat feugiat aliquet. |
Partager