in reply to Regex - unordered lookaround syntax

This loses on your golf requirement, but its better on being more correct in locale-specific environments:
my $str = " abc def123abc def"; print "[$_]\n" for split / \s+| (?<=[[:alpha:]])(?=[[:digit:]])| (?<=[[:digit:]])(?=[[:alpha:]]) /ix, $str;
I think doing what you ask is somewhat doable, but it would just be more of a mess. And turning the problem inside-out as merlyn suggests is a much better answer anyway :-)