use POSIX 'strftime'; # replace with actual date my @localtime = qw/YYYY MM DD 00 00 00/; # see perldoc -f localtime $localtime[0] -= 1900; $localtime[1] -= 1; print strftime('%V', reverse @localtime);