While the whole "requires: perl" thing goes on about META.yml, its important that folks understand the underlying source material that META.yml draws its design from: the Debian Policy Manual. http://www.us.debian.org/doc/debian-policy/
Whether not you like using Debian, they've got their shit together when it comes to managing a large, comprehensive, contributor-developed, dependency-resolving package repository (sound familiar?) and have a great packaging format. And they have piles and piles of documentation about it. It's worth reading, they've been doing this for over a decade and they do it well. -- ROCKS FALL! EVERYONE DIES! http://www.somethingpositive.net/sp05032002.shtml