One word of caution when using grep -- it will find all occurrences of $e in @a so if @a is large or there are a lot of occurrences of $e it will take longer than just looking for the first occurrence. You might also want to look at the any function in
List::MoreUtils.