diff --git a/poky/meta/classes-recipe/cpan_build.bbclass b/poky/meta/classes-recipe/cpan_build.bbclass
new file mode 100644
index 0000000..026859b
--- /dev/null
+++ b/poky/meta/classes-recipe/cpan_build.bbclass
@@ -0,0 +1,47 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
+# This is for perl modules that use the new Build.PL build system
+#
+inherit cpan-base perlnative
+
+EXTRA_CPAN_BUILD_FLAGS ?= ""
+
+# Env var which tells perl if it should use host (no) or target (yes) settings
+export PERLCONFIGTARGET = "${@is_target(d)}"
+export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}"
+export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl5/${@get_perl_version(d)}/"
+export PERLHOSTARCHLIB = "${STAGING_LIBDIR_NATIVE}/perl5/${@get_perl_version(d)}/${@get_perl_hostarch(d)}/"
+export LD = "${CCLD}"
+
+cpan_build_do_configure () {
+	if [ "${@is_target(d)}" = "yes" ]; then
+		# build for target
+		. ${STAGING_LIBDIR}/perl5/config.sh
+	fi
+
+	perl Build.PL --installdirs vendor --destdir ${D} \
+			${EXTRA_CPAN_BUILD_FLAGS}
+
+	# Build.PLs can exit with success without generating a
+	# Build, e.g. in cases of missing configure time
+	# dependencies. This is considered a best practice by
+	# cpantesters.org. See:
+	#  * http://wiki.cpantesters.org/wiki/CPANAuthorNotes
+	#  * http://www.nntp.perl.org/group/perl.qa/2008/08/msg11236.html
+	[ -e Build ] || bbfatal "No Build was generated by Build.PL"
+}
+
+cpan_build_do_compile () {
+        perl Build --perl "${bindir}/perl" verbose=1
+}
+
+cpan_build_do_install () {
+	perl Build install --destdir ${D}
+}
+
+EXPORT_FUNCTIONS do_configure do_compile do_install
