You could, like, try downloading a Perl module from CPAN - and poke around its files.
Personally I use Module::Install. You can see what it looks like here: Event::Lite Download Link. The docs for Module::Install are long and unless I missed something don't really have a "START HERE DUMMY" (which I sure could have used) - but it works basically like this:
Make Your Folder
- Say your module is "My::Module::(Something)" - make a folder named "My-Module"
- In there, make a folder named "My-Modulelib/My/Module" and put all your *.pm files in "My-Module/lib/My/Module"
- Make a folder named "My-Module/inc" and copy all the files from the "inc" folder in the link above.
- Make "My-Module/Makefile.PL" - you could copy-n-paste the one from the link above and just substitute "My-Module" for "Event-Lite" and "lib/My/Module.pm" for "lib/Event/Lite.pm" and so on.
- List the modules your module requires for testing and for installation.
- Make some unit tests (*.t files) and put them in a folder named "My-Module/t/"
- Add a "My-Module/Changes" text file (like every other Perl module has) that describes what happened in each release.
- Add some POD documentation to your *.pm files wherever appropriate.
When you're ready to upload to CPAN
- cd My-Module
- perl Makefile.PL
- If there were problems - then fix them before continuing.
- make
- make manifest -- (lots of filenames that look familiar should scroll by)
- make disttest -- (this will pretend to install your module without really installing it).
- make dist -- this will make the *.tar.gz file for you.
- Go to The PAUSE Website and login.
- Click "Upload a file to CPAN" on the left.
- Upload your file.
- A few hours later it will appear on http://search.cpan.org/
- ??????
- PROFIT!!!!