# really short idiomatic version sub getArrayIndex { map{return --$_ if $_[0] eq $_[$_]}(1..@_-1) and -1 } # test code @array = qw(0 2 4 6 8 10 12); print getArrayIndex(6,@array),"\n"; print getArrayIndex(5,@array),"\n";