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