#... comments && setup varz if (defined($tout)) { for(my $i=0; $i<@valz; $i++) { $mapz{$valz[$i]} = $i; } @time = split //, $tout; splice(@time,5,($#time-5)); # chop extra! for(my $i=0; $i<5; $i++) { $time[$i]=0 unless defined($time[$i]); while ($mapz{$time[0]} > 12) { $time[0] = $valz[$mapz{$time[0]}-12]; $year++; } unshift(@time, $year+2000); printf "%s %d, %d %02d:%02d:%02d", $mnth[$mapz{$time[1]}-1], $mapz{$time[2]}, $time[0], $mapz{$time[3]}, $mapz{$time[4]}, $mapz{$time[5]}; } else { $time[5] -= 101; $time[4] = $valz[(++$time[4]+(12*$time[5]))]; $time[3] = $valz[$time[3]]; $time[2] = $valz[$time[2]]; $time[1] = $valz[$time[1]]; $time[0] = $valz[$time[0]]; printf "%s%s%s%s%s", $time[4],$time[3],$time[2],$time[1],$time[0]; } # print "\n"; # hmmm...