All AA long haul flights with an F cabin have flat bed seats.
Note that the FAQ sticky lists the flights that have first class. I'm not sure if it is completely up to date. Also the MileageMonkey validator shows first class routes (check the graying out) of the columns.
And you won't find a 1st class seat to Perth ex-JNB. The flight JNB-PER is operated by SAA and only offers 2 class service. As a QF codeshare its not available for AONEx's. Over summer on a Wednesday QF operates one flight SYD-JNB that stops in Perth but this is a 747-300 and doesn't have 1st class either.


