PubMEd XML contains multiple date blocks, with or without Month, day, hour, minute. USAGE: while(my($pubstatus,$year,$month,$day,$hour,$minute)= $article =~ m% (?:\s*<PubMedPubDate\sPubStatus="(.?)"> (?:\s<Year>(\d*?)</Year>\s)* (?:\s*<Month(?:/)>(\d?)(?:</Month>)?\s) (?:\s*<Day(?:/)>(\d?)(?:</Day>)\s) (?:\s*<Hour>(\d*?)</Hour>\s)* (?:\s*<Minute>(\d*?)</Minute>\s)* \s*</PubMedPubDate>) %imsgx){