in reply to (almost) Unique elements of an array

No need to lowercase the array, just the 'work-out' hash keys, if we assume this simple approach:-
# @input assumed by statement of requirement my %done = (); my @output = (); for ( @input ) { unless( $done{ lc( $_ ) } ) { push @output, $_; $done{ lc( $_ ) } = 1; } }

One world, one people