sub ranger { my ($arr, $r, $sr) = @_; # Unneeded, plus it doesn't work. #local $[ = $r->[0]; $sr->[$_] -= $r->[0] for 0 .. 1; ($sr->[0] < $sr->[1]) ? @{$arr}[$sr->[0] .. $sr->[1]] : reverse( @{$arr}[$sr->[1] .. $sr->[0]] ); }