http://qs321.pair.com?node_id=614229


in reply to How do I convert date format between 'DD-MM-YYYY' and 'YYYY-MM-DD' back & forth?

The following answer uses regexes.
# UK-style my $in_date = '30-04-2007'; (my $db_date = $in_date) =~ s/(\d\d)-(\d\d)-(\d\d\d\d)/$3-$2-$1/; (my $pr_date = $db_date) =~ s/(\d\d\d\d)-(\d\d)-(\d\d)/$3-$2-$1/; print "in: $in_date; db: $db_date; pr: $pr_date\n"; # in: 30-04-2007; db: 2007-04-30; pr: 30-04-2007
# US-style my $in_date = '05-14-2007'; (my $db_date = $in_date) =~ s/(\d\d)-(\d\d)-(\d\d\d\d)/$3-$1-$2/; (my $pr_date = $db_date) =~ s/(\d\d\d\d)-(\d\d)-(\d\d)/$2-$3-$1/; print "in: $in_date; db: $db_date; pr: $pr_date\n"; # in: 05-14-2007; db: 2007-05-14; pr: 05-14-2007
Instead of rolling your own, some CPAN modules might help, such as Date::Tiny, Date::Formatter, or Date::Simple. They look promising but I haven't tried them myself.