When you are creating a new module you should start with the h2xs utility to build the support files. Or that's what ExtUtils::MakeMaker would have you belive...but of course, this is Perl, and There's More Than One Way To Do It. I often just create module files by hand, somewhat like Matt suggests in his
ExtUtils::ModuleMaker provides that third way..one that's probably better for complex modules that are pure Perl. h2xs has always seemed too orientated toward XS modules for my liking (I write either in pure perl, or I use Inline and it creates lots of stuff thats not relevant to me.) And doing everything always by hand is tiresome, and prone to making mistakes. ExtUtils::ModuleMaker addresses both these problems.
Give it a shot, it might just scratch your itch.