Rick,
SAS has already a built-in informat(stimer.) to handle such scenario.

data RaceTimes;
input Time stimer.;
format Time TIME10.3;
rawTime = Time;
hours = hour(Time);
minutes = minute(Time);
seconds = second(Time);
datalines;
11.345
0:11.345
2:39.66
18:33.24
19:23
49:02.89
72:02.89
1:12:02.89
100:71:00
;