Here's the problem : 
create some functions that let you add words to a dictionary database,
and search for a word :

addWord[
        cat,  "a small mammal"];

    lookup[cat];

    "a small mammal"

OK, so we're gonna have a global list
   words      contains words in dictionary
   defs         has definitions in corresponding places
AppendTo will stick stuff on the end of a list.

addWord[word_,  def_] := 
        Module[{}, 
AppendTo[words, 
            word]; 
AppendTo[defs,  
            def];
];
\(\(lookup[word_] := 
        Module[{}, 
 (*\ \(Print[" looking for " <> 
                  ToString[word]];\)\ *) 
\(Return[
              Do[
 (*\ \(Print[\ "i = " <> 
                        ToString[i]];\)\ *) 
If[\ 
                  word\  == \ words[\([i]\)], \ 
	
                  Return[\ \ defs[\([i]\)]\ ]
]
, {i, 1, 
                  Length[words]}\ ]];\)
];\)\)
\(\(populate[] := 
        Module[{}, 
words = {}; 
defs = {}; 
addWord[
            cat, \ "likes to purr"]; 
addWord[
            fish, \ "lives underwater"];
];\)\)
populate[];

defs

lookup[cat]

addWord[
        pencil, "yellow skinny thing"];
lookup[pencil]

words