Fix missing escape on < 5.8.3 codepath
Peter Rabbitson [Fri, 23 Dec 2011 14:34:11 +0000 (15:34 +0100)]
Changes
lib/Method/Generate/Accessor.pm
lib/Moo.pm

diff --git a/Changes b/Changes
index 7ed60d6..47fed69 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,6 @@
   - fix up Class::XSAccessor version check to be more robust
   - improved documentation
+  - fix failures on perls < 5.8.3
 
 0.009012 - 2011-11-15
   - make Method::Generate::Constructor handle $obj->new
index 13e6ccc..204330b 100644 (file)
@@ -387,7 +387,7 @@ sub _generate_simple_set {
 
       eval { Scalar::Util::weaken($simple); 1 } or do {
         if( \$@ =~ /Modification of a read-only value attempted/) {
-          { local $@; require Carp; }
+          { local \$@; require Carp; }
           Carp::croak( sprintf (
             'Reference to readonly value in "%s" can not be weakened on Perl < 5.8.3',
             $name_str,
index a756fb9..3f53398 100644 (file)
@@ -43,7 +43,7 @@ sub import {
   {
     no strict 'refs';
     @{"${target}::ISA"} = do {
-      {; local $@; require Moo::Object; } ('Moo::Object');
+      { local $@; require Moo::Object; } ('Moo::Object');
     } unless @{"${target}::ISA"};
   }
 }