in reply to splitting a string into arbitrary lengths

How about a regexp, but using the /x modifier:

my ($tyear, $tmon, $tday) = ($today =~ /^(\d{4}) # 4 digit year (\d{2}) # 2 digit month (\d{2})$/x); # 2 digit day

-- ank