Tidy _generate_destructor
gfx [Fri, 26 Feb 2010 05:33:08 +0000 (14:33 +0900)]
lib/Mouse/Meta/Method/Destructor.pm

index 4b85dfc..db96642 100644 (file)
@@ -18,22 +18,23 @@ sub _generate_destructor{
         }
     }
 
-    my $source = sprintf("#line %d %s\n", __LINE__, __FILE__) . <<"...";
+    my $source = sprintf(<<'END_DESTROY', __LINE__, __FILE__, $demolishall);
+#line %d %s
     sub {
-        my \$self = shift;
-        local \$?;
-
-        my \$e = do{
-            local \$@;
+        my $self = shift;
+        my $e = do{
+            local $?;
+            local $@;
             eval{
-                $demolishall;
+                # demolishall
+                %s;
             };
-            \$@;
+            $@;
         };
         no warnings 'misc';
-        die \$e if \$e; # rethrow
+        die $e if $e; # rethrow
     }
-...
+END_DESTROY
 
     my $code;
     my $e = do{