I was surprised at the number of complaints about
eval $VERSION because I was sure I had seen it recommended somewhere (though I never chose to use it in my modules). Some searching shows
eval $VERSION in modules? as a good discussion. Essentially, as I understand it, one might want the CPAN to see the underscore to tell that it's an alpha version, but want all the version tools to still compare correctly.