use warnings; no warnings 'deprecated', 'experimental::lexical_topic'; use strict; use Test::More tests => 18; our @t = qw(a b c d e f); our $r = \@t; our @i4 = (3, 5, 3, 5); $[ = 3; is_deeply [ scalar @t[3,4] ], [ qw(b) ]; is_deeply [ @t[3,4,8,9] ], [ qw(a b f), undef ]; is_deeply [ scalar @t[@i4] ], [ qw(c) ]; is_deeply [ @t[@i4] ], [ qw(a c a c) ]; is_deeply [ scalar @{$r}[3,4] ], [ qw(b) ]; is_deeply [ @{$r}[3,4,8,9] ], [ qw(a b f), undef ]; is_deeply [ scalar @{$r}[@i4] ], [ qw(c) ]; is_deeply [ @{$r}[@i4] ], [ qw(a c a c) ]; is_deeply [ @t[2,-1,1,-2] ], [ qw(f f e e) ]; { $[ = -3; is_deeply [@t[-3,()]], ['a']; } SKIP: { skip "no lexical \$_", 8 unless eval q{my $_; 1}; eval q{ my $_; is_deeply [ scalar @t[3,4] ], [ qw(b) ]; is_deeply [ @t[3,4,8,9] ], [ qw(a b f), undef ]; is_deeply [ scalar @t[@i4] ], [ qw(c) ]; is_deeply [ @t[@i4] ], [ qw(a c a c) ]; is_deeply [ scalar @{$r}[3,4] ], [ qw(b) ]; is_deeply [ @{$r}[3,4,8,9] ], [ qw(a b f), undef ]; is_deeply [ scalar @{$r}[@i4] ], [ qw(c) ]; is_deeply [ @{$r}[@i4] ], [ qw(a c a c) ]; }; } 1;