To add:
$VERSION = eval $VERSION;
should *never* be run on a version tuple (non-decimal version). Its purpose is to remove the underscore from decimal versions so they can be used as a number, but with a version tuple it transforms it into a vstring, which is not an allowed format for $VERSION (by ExtUtils::MakeMaker, at least).
Instead of overloading UNIVERSAL::VERSION and introducing any manner of possible incompatibility, I would suggest simply requiring version.pm 0.77 or higher as a dependency, and using it to declare your version in a way that will work across all perl versions (as noted in its synopsis, this should be one line):
use version 0.77; our $VERSION = version->declare('v6.0.1');