@a=qw(1 2 3 4 5 6 7 8 9 2 3 1 4 5 6 7 8 9 1 4); $first=3; $last=1; @l{@a}=0..$#a; @f{reverse @a}=reverse 0..$#a; print join ' ',@a[$f{$first}..$l{$last}],"\n";