in reply to Re^4: Mr. Ternary is greater than Mrs. If Else
in thread Mr. Ternary is greater than Mrs. If Else

"\&" - is used while bullet proofing a program because it permits runtime error to exit my program so sudden. so the programmer could easily notice the error.

"eval" - is used when you have finished bullet proofing a program. well it just trap runtime errors that was not caught by the programmer.

Nope, they're both "tricks" you're using to put several statements where only one would fit. Should I choose one such trick, it would be do. As far as eval is concerned: yes, you can use it to trap exceptions. That's the Perl 5 way to do so. It's a completely orthogonal matter. If you need that, just use it. If you don't, don't, whether it's in an argument to ?:, in an if block, in a sub... wherever!

Update: \& is just one way to execute a block, indeed the most abusive one. As long as you're abusing something to do stuff it's not really meant to, you may have chosen:

map { CODE } 1

or

grep { CODE } 1

too.