Using correct array sigil in edit.pl
dbNumLines passed as arg to searchAll()
Passing grepArrayRef through searchAll

This removes the use of the @main::grepArray global variable in searchAll
and its called routines.
Passing grepArray reference instead of global var in searchAuthor
Passing grepArray ref in searchBibkey

The removes another usage of the main::grepArray global
Passing grepArray ref through searchEntry

This removes another instance of the main::grepArray global
Passing grepArray ref through remaining search* subs

This removes the @main::grepArray global from these files, which as it
turned out wasn't that necessary.
@main::grepArray global no longer necessary in lookup.pl
[TODO] replace menu code with IO::Prompt
Passing grepArray ref through editEntry

This reduces the need for the grepArray global
(search|remove|edit)Flags now global in edit()

This is necessary so that the flags are found by the rest of the code.
Eventually these globals will be replaced with something cleaner.  But the
code still needs to work!
dbInArray is actually global in edit()
Initialising the dbInArray in edit()
Using strict and warnings in remove.pl
Using correct sigils in remove.pl
Corrected call to searchAll() in remove()
Using strict and warnings in removeEntry.pl

This required that entriesFoundDecide() now expects a third argument (an
array ref to the "index array", indArray.  Also the removeEntry() sub
requires two args so that the grepArrayRef and indArrayRef can be passed
into it.
Passing the newDBArray to dotBibWrite as an argument
Database file recompiled correctly after entry removal
Using 3 argument form for the open() command