correct captures assignment in quote_sub
[gitmo/Moo.git] / lib / Sub / Quote.pm
index 3c12c61..8016b06 100644 (file)
@@ -9,7 +9,7 @@ use B 'perlstring';
 use Scalar::Util qw(weaken);
 use base qw(Exporter);
 
-our $VERSION = '1.003000';
+our $VERSION = '1.003001';
 $VERSION = eval $VERSION;
 
 our @EXPORT = qw(quote_sub unquote_sub quoted_from_sub);
@@ -59,7 +59,7 @@ sub quote_sub {
     (ref($_[-1]) eq 'HASH' and ref($_[-2]) eq 'HASH')
       ? pop
       : {};
-  my $captures = pop if ref($_[-1]) eq 'HASH';
+  my $captures = ref($_[-1]) eq 'HASH' ? pop : undef;
   undef($captures) if $captures && !keys %$captures;
   my $code = pop;
   my $name = $_[0];
@@ -121,6 +121,7 @@ sub CLONE {
 }
 
 1;
+__END__
 
 =head1 NAME
 
@@ -167,7 +168,10 @@ C<$name> is the subroutine where the coderef will be installed.
 C<$code> is a string that will be turned into code.
 
 C<\%captures> is a hashref of variables that will be made available to the
-code.  See the L</SYNOPSIS>'s C<Silly::dagron> for an example using captures.
+code.  The keys should be the full name of the variable to be made available,
+including the sigil.  The values should be references to the values.  The
+variables will contain copies of the values.  See the L</SYNOPSIS>'s
+C<Silly::dagron> for an example using captures.
 
 =head3 options
 
@@ -287,3 +291,5 @@ See L<Moo> for authors.
 =head1 COPYRIGHT AND LICENSE
 
 See L<Moo> for the copyright and license.
+
+=cut