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