sub distinct { my %distinct; @distinct{@_} = (); return keys %distinct; }