spricht etwas dagegen das spit in time_str2num um T ergänzen? dann lassen sich auch ein ISO 8601 strings wie 2015-01-02T21:44:25 damit verarbeiten.
ich würde vorschlagen das - noch ans ende zu schieben damit es keine zweideutigkeiten mit dem range modifier gibt.
also von @a = split("[- :]", $str);
auf @a = split("[T: -]", $str);
Habs eingecheckt.
danke