http://qs321.pair.com?node_id=11119062


in reply to Perl::Critic says don't modify $_ in list functions and other things

> If this is something ignored usually, I will ignore it, but I would like to know how to make it better. Should I just assign $_ to a variable and then use the variable?

This is what I do if $_ is a non-reference scalar. Otherwise, you'd have to take some extra steps to ensure a deep copy of whatever it's referencing. I generally only use map occasionally, and it's always in some sort of a transform operation that doesn't actually modify $_. But that's me.

>Another thing that I am confused by is why the expression form of eval is discouraged?

I don't do that because it means I am getting clever, and we know that leads to needing to have more than clever debugging skills. Again, that's just me, but I've been bitten by this too many times to not believe in the hidden future cost of cleverness. It's also a security vulnerability waiting to happen.