diff -bu version-0.9912-eLffkD/vutil/vutil.c~ version-0.9912-eLffkD/vutil/vutil.c
--- version-0.9912-eLffkD/vutil/vutil.c~	2015-01-21 03:39:01.000000000 +0100
+++ version-0.9912-eLffkD/vutil/vutil.c	2015-08-26 14:58:01.000000000 +0200
@@ -18,6 +18,8 @@
 #define VERSION_MAX 0x7FFFFFFF
 
 /*
+=head1 Versioning
+
 =for apidoc prescan_version
 
 Validate that a given string can be parsed as a version object, but doesn't
@@ -158,6 +160,9 @@
 	    /* found just an integer */
 	    goto version_prescan_finish;
 	}
+#ifdef USE_CPERL
+	else if ( *d == 'c' && !*(d+1)) { goto version_prescan_finish; }
+#endif
 	else if ( d == s ) {
 	    /* didn't find either integer or period */
 	    BADVERSION(s,errstr,"Invalid version format (non-numeric data)");
@@ -221,6 +226,9 @@
 	d++;
 
     if (!isDIGIT(*d) && (! (!*d || *d == ';' || *d == '{' || *d == '}') )) {
+#ifdef USE_CPERL
+	if ( *d != 'c' )
+#endif
 	/* trailing non-numeric data */
 	BADVERSION(s,errstr,"Invalid version format (non-numeric data)");
     }
@@ -395,6 +403,12 @@
 		s = ++pos;
 	    else if ( isDIGIT(*pos) )
 		s = pos;
+#ifdef USE_CPERL
+	    else if ( *pos == 'c' && !*(pos+1) ) {
+		s = ++pos;
+		break;
+            }
+#endif
 	    else {
 		s = pos;
 		break;
@@ -727,6 +741,10 @@
     }
 
     s = SCAN_VERSION(version, ver, qv);
+#ifdef USE_CPERL
+    if ( *s == 'c' && !*(s+1) )
+        return ver;
+#endif
     if ( *s != '\0' ) 
 	Perl_ck_warner(aTHX_ packWARN(WARN_MISC), 
 		       "Version string '%s' contains invalid data; "