in reply to Re^12: Remove redundency from an array
in thread Remove redundency from an array

ikegami:What's with the useless do?

That has (1.) been carried over from the non-sub expression
and (2.) it was too late (in the evening) to make substantial changes...

ikegami:What's with the useless assignment to @_?

This is clearly necessary when using the do{} block in its original context

ikegami:Why use a reference when one isn't needed?

I'd *never ever* use a reference if it isn't needed, but my
perl588 doesn't complain about abusing $_ this way ;-)

ikegami:Using the symbolic reference means there's now another variable to localize.

OK, but which one?

ikegami:That is, if the code didn't rely on a Perl bug?

Or, "didn't rely on a Perl feature"? I don't really know.


BTW, your version using %_ impicitely by @_ is very nice.
I'd recommend to put this one
sub uinq { local %_; @_{@_}=(); keys %_ } my @array = (1,1,3,3,2,3,5,7,5,2); print join ',', uinq(@array), "\n"

somwhere into perldoc (necessity shown by other posts).
Thanks for your engagement!

Regards mwa