in reply to Convert weekday to numerical date

Pretty simple.

use strict; use warnings; my @weekdays = qw( Today Yesterday Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday ); my %lookup; my @backs; use Time::Local; my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =localtime( +time) ; # move to noon so DST changes dont kill ya my $now_fix12=timelocal( 0, 0, 12, $mday, $mon, $year); for my $back (0..6) { my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =localtim +e(time-24*60*60*$back) ; push @backs,[$wday,$mday]; $lookup{$weekdays[$wday+2]}=$mday; } $lookup{'Today'}=$backs[0][1]; $lookup{'Yesterday'}=$backs[1][1]; for my $wday (@weekdays) { print $wday.' '.$lookup{$wday}."\n"; }

Edit:code fixed to fit changed OP