Firstly, read the perlpod document from the Perl documentation — i.e. type this into a terminal:
I would suggest that you try and keep (and maintain) the documentation along with the code, with a block of POD code at the start of each file or sub. Include in this block what the purpose of the file/sub is, and what each's sub's interface is. By interface, I mean how the sub processes @_, what it returns, and what it can can throw (i.e. what is passes to die). This will make it much easier to maintain if you do get a community-based distribution, as any incorrect documentation will stand out when editing the code.
I would also suggest creating a separate file showing a more general overview saying how the code is organised.
Don't forget to explain why design decisions were made in the documentation, as well as what the code is supposed to do.