perl -ne 'print unless $seen{$_}++' data.txt

Or, if you must have a [useless use of `cat`][1]:

 cat data.txt | perl -ne 'print unless $seen{$_}++'

Here's an `awk` translation, for systems that lack Perl:

 awk '!seen[$0]++' data.txt
 cat data.txt | awk '!seen[$0]++'


 [1]: http://en.wikipedia.org/wiki/Cat_%28Unix%29#Useless_use_of_cat