$string =~ m/(?:(?=.*?X)X|(?!.*?X))(\S+)/; #### $string1="abcX123"; $string2="abc123"; $string1 =~ m/(?:(?=.*?X)X|(?!.*?X))(\S+)/; print "$1\n"; $string2 =~ m/(?:(?=.*?X)X|(?!.*?X))(\S+)/; print "$1\n"; #### 123 abc123