Я просто пойду дальше и покажу, как извлечь дату формата ГГГГММДД в год, месяц и дату:
my $str = '20040819';
my ($year, $month, $date) = $str =~ /^(\d{4})(\d{2})(\d{2})$/;
Вы можете проверить defined $year
и т. Д., Чтобы выяснить, сработало ли совпадение.