#!/usr/bin/perl
use strict;
use warnings;
use autodie;
#Get the filename from the first argument.
my ($filename) = @ARGV;
#open it to read it.
open( my $input_data, "<", $filename );
#set up somewhere to store our count.
my %word_count;
#cycle through one line at a time.
while (<$input_data>) {
chomp;
#take each line, split it by spaces and
#count the number of occurances
foreach my $word (split) {
$word_count{$word}++;
}
}
#print the results. Sort %word_count into count order.
#(Descending) and print.
foreach
my $word ( sort { $word_count{$b} <=> $word_count{$a} } keys %word
+_count )
{
print "$word = $word_count{$word}\n";
}
|