my ($dict) = "/usr/share/dict/words"; open (FILE, $dict) or die ("Can't open $dict: $!\n"); while () { chomp; next if length() < 3; @char = split //, $_; $pointer = \%{$word_tree{$char[0]}}; for (1 .. $#char) { $pointer = \%{$$pointer{$char[$_]}}; } } close (FILE);