For anyone using Module::Build (v0.30) to build PPM's for distribution, here's a simple fix (no patching involved) that you can put into your custom build code (add this to your custom builder code in your Build.PL file):
##BUGBYPASS: [for Module::Build v0.3 and perl v5.10+ $^V version strin
+g change] repairs incorrect version interpretation for perl v5.10+ (s
+till works for 5.8 and earlier, as well)
sub my_varchname { # Copied from PPMMaker.pm
my ($self, $config) = @_;
my $varchname = $config->{archname};
# Append "-5.8" to architecture name for Perl 5.8 and later
#if (defined($^V) && ord(substr($^V,1)) >= 8) {
#$varchname .= sprintf("-%d.%d", ord($^V), ord(substr($^V,1)));
#}
## BUGFIX: send to Module::Build::PPMMaker and PPM
if (defined($^V)) {
my @v = split(/\./, sprintf(qq{%vd},$^V));
if ($v[1] >= 8) {
$varchname .= '-'.$v[0].'.'.$v[1];
}
}
return $varchname;
}
It bypasses the BUG until it's fixed in Module::Build.