in reply to CPAN not so comprehensive
If you have a specific Net::SSH2 question - ask it! I too have had issues trying to understand its use but finally figured out some of my problems. Another challenge is that I'm exclusively on Windows / Strawberry Perl so that's (one of) the only SSH modules that will work - and it comes bundled / compiled with Strawberry in vendor/lib. I was able to understand enough to cobble together a simple SSH client and the CPAN Net::SSH2::Cisco module - a drop in replacement for Net::Telnet::Cisco. Happy to share that code if you think it will help.
That said, in a more general sense, I try to put probably more documentation in my releases than most. I started with inline comments but then moved to POD once I understood what that was, how it worked, and how superior it is to understanding usage for new users. I (most of the time) try to include a pretty complete SYNOPSIS and either an EXAMPLES section or provide bin/ scripts that provide basic functionality which a user can use right away, or customize to their heart's content.
True, some authors just don't document or don't document "well", but that's relative. Someone who writes a module is sometimes so familiar with the way it works and what it does, they may sometimes lose sight that other users may not be as familiar and need a jump-start / working example to build on.