my $data_file = "ActiveItems2.txt";
open(DAT, $data_file) || die("Could not open file: $!");
my %seen;
$seen{$_}++ while <DAT>;
print for sort keys %seen;
close(DAT);
Another interesting variant (although it may suffer the slurp problem) is to use a hash slice:
@seen{<DAT>} = (); # Hash slice assignement
print for sort keys %seen;
It's worth seeing the hash slice a few times to remember that it is there and what the syntax is. Like many things in Perl, occasionally it is exactly what you need to achieve a clean solution to a problem. Perhaps not in this case though. :)
DWIM is Perl's answer to Gödel
|