#!/usr/bin/perl -w use strict; use warnings; use Date::Calc qw{ :all }; my ($year, $mon, $day) = Today(); show_date("Today's date", $year, $mon, $day); ($year, $mon, $day) = Add_Delta_Days($year, $mon, $day, -30); show_date("30 days ago", $year, $mon, $day); sub show_date { my ($label, $year, $mon, $day) = @_; my $date = sprintf "%04d-%02d-%02d", $year, $mon, $day; print "$label: $date\n"; } __END__ [Output] Today's date: 2013-06-07 30 days ago: 2013-05-08