#!/usr/bin/perl use warnings; use strict; use Time::Piece; sub validate_date { my ($date) = @_; return eval { $date eq Time::Piece->strptime($date, '%m.%d.%y')->strftime('%m.%d.%y') } } use Test::More tests => 5; ok validate_date('02.28.19'); ok ! validate_date('02.32.19'); ok ! validate_date('02.29.19'); ok validate_date('02.29.16'); ok ! validate_date('02.30.16');