print join ", ", unique_case(qw( THIS This That That ThAT ThAt ThAt THIS These Those )); sub unique_case { my %seen; return grep {!$seen{uc $_}++} @_; }