Such a get_index_of
operator would be inefficient, hence it doesn't make much sense for Perl to have it.
Think about it - an array is a linear structure meant specifically for random-access of index->element. To find the index of some element you will either have to go through the array looking for the element - this is O(N). You can have more time-efficient algorithms at the cost of space, like having a "mirror" hash of element->index.
As for your original problem, I also sometimes feel a little itch when I have to give up foreach once access to elements other-than-the-current is required.