Для определения рода слова “зверобой” его необходимо поставить в именительный падеж единственного числа, получается форма: “зверобой” . Тогда в зависимости от окончания в слове “зверобой” можно определить род.
Слово “зверобой” употребляется в мужском роде (Потому как в начальной форме слова “зверобой” окончание [а], [я] или [ ] нулевое).Полный морфологический разбор Cуществительного “зверобой” находится по ссылке