This one-line does the job (With your current sample data):
perl -000 -ne '($l,$d)=m/Location:\s+(\S+).+BuildDate:\s+(\d.+\d)/s; (
+$lm,$ld)=($l,$d) if $d gt $ld and m/Approved/s}{print qq|$lm\n|' YOUR
+-FILE-NAME.txt
Note1 - the Date compare logic is very weak - it simply does a textual compare.
Note2 - "Approved" verification is very weak.
This is a working sample - you can use it to build a more robust program.
Change single-quotes to double, if you use Window$.
Update: Oops - I had intended to respond to the original post - but got OGB's post instead. Sorry.
"By three methods we may learn wisdom: First, by reflection, which is noblest; Second, by imitation, which is easiest; and third by experience, which is the bitterest."
-Confucius
| [reply] [d/l] |