in reply to [untitled node, ID 183102]

Does your value only occur once in the array? Can it occur as the very first element (in which case, what is the desired behavior)? Here is a code snippet that moves your desired element left in the list for a single occurrence. Remove the "and last" bit to do it for all occurrences. It also ignores the first element in the list.
for (1..$#array) { @array[$_-1,$_] = @array[$_,$_-1] and last if $array[$_] == $value; }

-- Mike

--
just,my${.02}