use POSIX qw(strftime); my $time = "19:45:34"; my ($hour, $minute, $second) = split ':', $time; my $convertedTime = strftime("%I:%M:%S %p", $second, $minute, $hour, 1, 0, 2004 );