use strict; use warnings; use Data::Dumper (); my $name = "SMITH-JONES"; my @temp = split(/(-| )/,$name); print Data::Dumper::Dumper(\@temp); $name = "SMITH JONES"; @temp = split(/(-| )/,$name); print Data::Dumper::Dumper(\@temp); #### $VAR1 = [ 'SMITH', '-', 'JONES' ]; $VAR1 = [ 'SMITH', ' ', 'JONES' ]; #### my @temp = split(/(?:-| )/,$name);