--- David Blevins <[EMAIL PROTECTED]> wrote:
> Truly astounding.

lol....

> From: Paul [mailto:[EMAIL PROTECTED]]
> > --- David Blevins <[EMAIL PROTECTED]> wrote:
> > > >   perl -nle 'print if !$seen{$_}++'
> > >
> > > $seen{$_}
> > >
> > > Tries to lookup the line in the hash of lines we've already seen.
> > >
> > > $seen{$_}++
> > >
> > > This is a complete guess, I can't seem to find anything like this
> > > in the 'Programming Perl' book.
> >
> > It's just a postfix increment on the value in %seen as looked up
> > using $_ as the key. You've got the idea.
> 
> So the command not only weeds out the duplicate lines, it counts as
> well!

Well, it does, though this code doesn't take advantage of that.
The boolean NOT ( the ! ) always returns 1 if the $seen{$_} is false,
or '' if it's true -- and any value other than 0,'', or undef is true.

> That's great!  I hate to even think of how many lines in java it
> would take to do the same thing.  It takes on line just to create
> the hash.

lol -- true. But remember one thing for which Perl is famous: the word
is "cryptocontext". Expressions do/return different things in different
contexts. Important to understand, and handy to use. Java expressions
don't change behavior or value if you change their context. Perl has
tools many other languages don't have, but they can bite you. =o)
 
> > I love Perl. =o)
> >
> > Of course, writing readable code is always a good idea, but
> > explaining *tight* code is a great learning experience! lol!
> >
> 
> I am a very accomplished java programmer and many aspects of
> programming are just old news.  I really have zero need to learn
> another language in my professional career. 

Well, it *does* always look good on a resumé to have a few extra hats
available. =o)

> But since I've ran across Perl, I've found so many new
> ways to do things that were just old hat -- I just have to learn it. 
> Perl takes something I've been doing for years and makes it new
again.

Yeah. >;O}

Gearhead Heaven! lol!

__________________________________________________
Do You Yahoo!?
Make international calls for as low as $.04/minute with Yahoo! Messenger
http://phonecard.yahoo.com/

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to