A little correction , since you need to validate each element in the @list array. the pattern checking sequence must be within the foreach loop.
foreach (@list) {if (! /\d{4}\-\d{2}\-\d{2}/ && $_ ne '') {$Flag=1;}
if ($Flag ==1) {print "The date fields MUST be filled out correctly!"; exit;}}
This is about it.
Anandatirtha