in reply to Split on whitespace or other criteria

This will work for your example:
my @cols = split /\s+|(?<=\d)(?=\-)/;
It splits on whitespace or on a boundry where there's a digit followed by a dash.

-b