in reply to Subtracting minutes from a string

If it's just hours and minutes, you could write a subroutine:

#!/usr/bin/perl use strict; use warnings; my $time = "12:30"; my $secondTime = minutes($time, 120); print STDERR "TIME: $time\tNEW: $secondTime\n"; sub minutes { my $extraHour = 0; my $time = $_[0]; my $minutes = $_[1]; my @time = split(/:/, $time); my $modMinutes = $minutes%60; $extraHour = 1 if $minutes > $time[1]; my $hours = $extraHour + (int($minutes/60)); my $newHour = sprintf("%02d", ($time[0] - $hours)%24); my $newMinutes = sprintf("%02d", ($time[1] - $modMinutes)%60); my $newTime = "$newHour:$newMinutes"; return $newTime; }

EDIT: changed extra hour.