##
$p = 'supercalifragilistic';
@new = map { $p ne $_ ? $p = $_ : () } @orig;
##
##
use strict;
sub uniq_adj {
my $p = 'supercalifragilistic';
return map { $p ne $_ ? $p = $_ : () } @_;
}
my @orig = (undef, undef, qw(a a b b c 0 c d d u u 0 0 "0" "0" '0' '0'));
my @new = uniq_adj @orig;
print "'", join ("' '", @new), "'\n";
__END__
Prints --> '' 'a' 'b' 'c' '0' 'c' 'd' 'u' '0' '"0"' ''0''