diff --git a/perl/lib/Data/MessagePack.pm b/perl/lib/Data/MessagePack.pm
index 29981781..0f389b13 100644
--- a/perl/lib/Data/MessagePack.pm
+++ b/perl/lib/Data/MessagePack.pm
@@ -24,7 +24,7 @@ sub false () {
 
 if ( !__PACKAGE__->can('pack') ) { # this idea comes from Text::Xslate
     my $backend = $ENV{ PERL_DATA_MESSAGEPACK } || '';
-    if ( $backend !~ /\b pp \b/xms ) {
+    if ( $backend !~ /\b pp \b/xms  or $ENV{PERL_ONLY} ) {
         eval {
             require XSLoader;
             XSLoader::load(__PACKAGE__, $VERSION);