I don't want to know what the dulicates are, I only want to know if there are any...
I'm not sure it's possible to know the latter without also knowing the former. At any rate, any of the solutions shown so far will do the job; just ignore what the actual duplicate values are. For example, my solution can be modified very slightly:
use Scalar::Util qw( looks_like_number );
my %h;
$h{$_}++ for split /\t/, $string;
my $there_are_duplicates =
grep { $h{$_}>1 and !looks_like_number($_) }
sort keys %h;
(This exploits the fact that grep returns the list of matching values in list context, and returns the number of matches in scalar context.)
We're building the house of the future together.