Help for this page
open (DATABASE, "$filename" || &ErrorMessage); # Did you mean this? You should also probably pass '$!' to # and include '$!' in ErrorMessage open (DATABASE, $filename) || &ErrorMessage;