I use etags (or rather, my own version of it). In Emacs, when I press M-. on a function/package name, it takes me directly to its declaration. Changing it to show the documentation instead should be easy enough.
Haven't used yet but this reminded me that there's a perl lsp server (Perl::LanguageServer). Together with lsp-mode that might be fruitful to look at (not that etags/ctags/GNU global aren't also useful).
The cake is a lie.
The cake is a lie.
The cake is a lie.