1#!perl 2 3use Test::More tests => 1; 4 5use warnings FATAL => 'all'; 6use strict; 7 8use Return::MultiLevel qw(with_return); 9 10my @r; 11for my $i (1 .. 10) { 12 push @r, with_return { 13 my ($ret_outer) = @_; 14 100 + with_return { 15 my ($ret_inner) = @_; 16 sub { 17 ($i % 2 ? $ret_outer : $ret_inner)->($i); 18 'bzzt1' 19 }->(); 20 'bzzt2' 21 } 22 }; 23} 24 25is_deeply \@r, [1, 102, 3, 104, 5, 106, 7, 108, 9, 110]; 26