my $secs = 60; my $time = '23:59:25'; my @time = split /:/, $time, 3; $time[2] += $secs; for (my $i = 2; $i >= 1; $i--) { if ($time[$i] >= 60) { $time[$i] -= 60; $time[$i-1]++; } } $time[0] -= 24 if $time[0] >= 24; $time = join ':', map { length($_) < 2 ? "0$_" : $_ } @time; print $time;