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