$ perl -e ' > $str = q{abcXghiXstu}; > @elems = split m{X}, $str; > print qq{$_\n} for @elems;' abc ghi stu $ perl -e ' > $str = q{abcXghiXstu}; > @elems = split m{(X)}, $str; > print qq{$_\n} for @elems;' abc X ghi X stu $ #### $ perl -e ' > $str = q{abc123def456ghi}; > @elems = > split m > {(?x) > (?: > (?<=[a-z]) # look behind for letter > (?=[0-9]) # look ahead for digit > ) > | # or > (?: > (?<=[0-9]) # look behind for digit > (?=[a-z]) # look ahead for letter > ) > }, $str; > print qq{$_\n} for @elems;' abc 123 def 456 ghi $