diff --git a/lib/perl/MANIFEST.SKIP b/lib/perl/MANIFEST.SKIP
new file mode 100644
index 0000000..7963b42
--- /dev/null
+++ b/lib/perl/MANIFEST.SKIP
@@ -0,0 +1,13 @@
+blib/.*$
+build-cpan-dist.sh
+FixupDist.pl
+MANIFEST.bak
+MANIFEST.SKIP
+MYMETA.json
+Makefile
+Makefile.am
+Makefile.in
+pm_to_blib
+test/Makefile.am
+test/Makefile.in
+tools/FixupDist.pl
diff --git a/lib/perl/Makefile.PL b/lib/perl/Makefile.PL
index ee7a436..bdeaad2 100644
--- a/lib/perl/Makefile.PL
+++ b/lib/perl/Makefile.PL
@@ -17,7 +17,12 @@
 # under the License.
 #
 
+use 5.10.0;
+use strict;
+use warnings;
+
 use ExtUtils::MakeMaker;
+
 WriteMakefile( ABSTRACT => 'Apache Thrift is a software framework for scalable cross-language services development.',
                AUTHOR => 'Apache Thrift <dev@thrift.apache.org>',
                LICENSE => 'apache_2_0',
diff --git a/lib/perl/build-cpan-dist.sh b/lib/perl/build-cpan-dist.sh
index 1765e6d..3b80734 100755
--- a/lib/perl/build-cpan-dist.sh
+++ b/lib/perl/build-cpan-dist.sh
@@ -1,9 +1,41 @@
 #!/bin/bash
 #
 # This script is intended to be used after tagging the repository and updating
-# the version files for a release.  It will create a CPAN archive.
+# the version files for a release.  It will create a CPAN archive.  Run this
+# from inside a docker image like ubuntu-xenial.
+#
+
+set -e
+
+rm MANIFEST
+rm -rf Thrift-*
+
+# setup cpan without a prompt
+echo | cpan
+cpan install HTTP::Date
+cpan install CPAN
+cpan install CPAN::Meta ExtUtils::MakeMaker JSON::PP
 
 perl Makefile.PL
+rm MYMETA.yml
 make
 make manifest
 make dist
+
+#
+# We unpack the archive so we can add version metadata for CPAN
+# so that it properly indexes Thrift and remove unnecessary files.
+#
+
+echo '-----------------------------------------------------------'
+set -x
+
+DISTFILE=$(ls Thrift*.gz)
+tar xzf Thrift-*.gz
+rm Thrift-*.gz
+DISTDIR=$(ls -d Thrift*)
+cd $DISTDIR
+perl ../tools/FixupDist.pl
+cd ..
+tar cvzf $DISTFILE $DISTDIR
+rm -r $DISTDIR
diff --git a/lib/perl/tools/FixupDist.pl b/lib/perl/tools/FixupDist.pl
new file mode 100644
index 0000000..24a2b20
--- /dev/null
+++ b/lib/perl/tools/FixupDist.pl
@@ -0,0 +1,35 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+#
+# This will fix up the distribution so that CPAN properly
+# indexes Thrift.
+#
+
+use 5.10.0;
+use strict;
+use warnings;
+use utf8;
+
+use Data::Dumper;
+use CPAN::Meta;
+
+my $meta = CPAN::Meta->load_file('META.json');
+$meta->{'provides'} = { 'Thrift' => { 'file' => 'lib/Thrift.pm', 'version' => $meta->version() } };
+$meta->save('META.json');
