In article <[EMAIL PROTECTED]>,
Eirik Berg Hanssen <[EMAIL PROTECTED]> writes:
> [EMAIL PROTECTED] (Philippe 'BooK' Bruhat) writes:
>
>> Compare the classic "remove duplicate lines" one-liner
>>
>> perl -ne'$s{$_}++||print' file
>>
>> with
>>
>> perl -ne'$$_++||print' file
>>
>> Three characters in one shot!
>
> It has its limitations though. Like namespaces:
>
> ~$ perl -e 'print"a\n::a\nmain::a\n::main::a\n"; ' | perl -ne'$$_++||print'
> a
> ~$
>
> ... and missing newlines:
>
> ~$ perl -e 'print"a\n1"; ' | perl -ne'$$_++||print'
> a
> Modification of a read-only value attempted at -e line 1, <> line 2.
> ~$
>
>
> Eirik
In real golfing the limitation that bites you most is the direct version
of what causes the problem above: $$_ doesn't work as storage space if
$_ is a postive integer. Though this can sometimes be worked around by
using @$_ or $#$_