#!/usr/bin/env perl -l use strict; use warnings; use Time::Piece; use Time::Seconds; my %day2t = qw{Fri 0 Sat 1 Sun 2 Mon 3 Tue 4 Wed 5 Thu 6}; my $test_date = '1-Dec-2013'; my $t_now = Time::Piece->strptime($test_date, '%d-%b-%Y'); my $t_mod = $t_now - ONE_DAY * $day2t{$t_now->day}; print 'Time now: ', $t_now->strftime; print 'Time modified: ', $t_mod->strftime;