use strict; use warnings; print map {qq{$_->[0] -- $_->[1] -- $_->[2]\n}} map { [ split m {(?x) (?: (?<=[a-z])(?=[^a-z]) | (?<=[^a-z])(?=[a-z]) ) } ] } map {chomp; $_} ; __END__ a=b a!=b ab a>=b