I have been aware that you can make it faster that way, but I usually don't. All that extra typing hurts my fingers :-)
No not really, but I like to keep oneliners short -- they have a nasty habit of hitting the right margin once what I do gets complicated -- and if I ever care about the performance of a oneliner, chances are it is getting complicated.
Having said that, it occurs to me that you might get the best of both worlds with a slightly different idiom. Compare:
perl -ne'print unless $seen{$_}++' perl -ne'$seen{$_}++, print unless $seen{$_}' perl -ne'$seen{$_}||=(print,1)'
Hey! It's even shorter than the original! We may be onto something here ... or maybe I have just been golfing too much lately ... :-)
Update: Juerd writes for oneliners, I think it's safe to assume print will print succesfully. Well ... I guess it is a good thing you have not seen my one-liners then. But okay, safe or not, it certainly is reasonable. It's not your fault that I am neither :-)
The Sidhekin
print "Just another Perl ${\(trickster and hacker)},"
In reply to Re: Re: Better "uniq" idiom?
by Sidhekin
in thread Better "uniq" idiom?
by RMGir
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |