in reply to Need your advice on how to start a program

Just a minor suggestion. It's better to import English like this:

use English "-no_match_vars";
see perldoc English on what that means.