use strict; use warnings; use YAML::Syck qw(LoadFile; # slurp all arguments my @letters = split //, @ARGV; die usage unless @letters; my $key = join '', sort @letters; my $lookup_word = LoadFile('dict.yml'); if ( exists $lookup_word->{$key} ) { my @words = sort @{ $lookup_words{$key} }; print "Found words: @words\n; } else { print "No words found\n"; } sub usage { ... }