From: "John W. Krahn" <[EMAIL PROTECTED]>
> Jenda Krynicky wrote:
> > From: "John W. Krahn" <[EMAIL PROTECTED]>
> >> Rob Dixon wrote:
> >>> obdulio santana wrote:
> >>>> May be this helps
> >>>>
> >>>> perl -lne "print if  ++$D{$_} == 1" address.txt
> >>> You may prefer the cuteness of
> >>>
> >>>   perl -lne "print unless $D{$_}++" address.txt
> >> Or the shortness of:
> >>
> >>      perl -ne'$D{$_}++||print' address.txt
> > 
> > Actually this
> > 
> >   perl -n'${$_}||=print'
> > 
> > works as well as long as the last line in the file either does end 
> > with a newline or doesn't match any builtin variable whose default 
> > value is already true.
> > 
> > One more keystroke down.
> 
> $ perl -c -n'$D{$_}++||print'
> Unrecognized switch: -$D{$_}++||print  (-h will show valid options).

Sorry, it should have been 

  perl -ne'${$_}||=print'

I'm using windows so I have to test it with doublequotes in place of 
the singlequotes so I must have made a mistake changing them back.


From: "Chas. Owens" <[EMAIL PROTECTED]>
> That is nasty.  If I am reading that correctly you are using a
> symbolic reference to create variables with the name of the line.  > I can't 
> remember, does Perl have a limit on the size of a variable > name?

Yes, you are reading it correctly. And since the line contains the 
newline it can't match any builtin. Except possibly for the last line 
in the file.

Does it have a limit on the size of a hash key?

If it does, then the limit is high enough I believe.

Jenda


===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed 
to get drunk and croon as much as they like.
        -- Terry Pratchett in Sourcery


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to