#!/usr/bin/perl 
use strict;
use File::Slurp;

my @dict = read_file( '/usr/share/dict/words' ) || die q{ can't open dictionary file } ;;

my @wordlist = map { lc($_) } split(/\W+/, read_file( $ARGV[0] ) );

my %seen = ();
my @unique = map { grep ( /$_/, @dict) ? $_: undef } grep { ! $seen{ $_ } ++ } @wordlist ;

foreach ( @unique ) {
    print $_ , ' : ', $seen{ $_ }, "\n";
}
