]> git.vpit.fr Git - perl/modules/Scope-Context.git/blobdiff - lib/Scope/Context.pm
Implement ->yield
[perl/modules/Scope-Context.git] / lib / Scope / Context.pm
index f455bf12c7f4794f8f0a0c356cc6e72b5e69e95f..85fd57365e7eeacf839251b86a28d9f7075673ca 100644 (file)
@@ -8,7 +8,7 @@ use warnings;
 use Carp         ();
 use Scalar::Util ();
 
-use Scope::Upper 0.18 ();
+use Scope::Upper 0.21 ();
 
 =head1 NAME
 
@@ -425,6 +425,24 @@ sub unwind {
  Scope::Upper::unwind(@_ => $self->cxt);
 }
 
+=head2 C<yield>
+
+    $cxt->yield(@values);
+
+Immediately returns the scalars listed in C<@values> from the topic context, whatever it may be (except a substitution eval context).
+
+See L<Scope::Upper/yield> for details.
+
+=cut
+
+sub yield {
+ my $self = shift;
+
+ $self->assert_valid;
+
+ Scope::Upper::yield(@_ => $self->cxt);
+}
+
 =head2 C<uplevel>
 
     my @ret = $cxt->uplevel($code, @args);
@@ -448,7 +466,7 @@ sub uplevel {
 
 L<Carp> (core module since perl 5), L<Scalar::Util> (since 5.7.3).
 
-L<Scope::Upper> 0.18.
+L<Scope::Upper> 0.21.
 
 =head1 SEE ALSO