man ls ("linux") has a 'sort by date' option, and you can pipe directly into read without the need for a temp file (although you don't actually need read in this case).
The latter is more bash friendly, as you need an explicit sub-shell, not always convenient, as '|(read newppt ; ... $newppt ....)' as otherwise the bash 'read' after '|' is in an implicit sub-shell like '|(read newppt), and the $newppt value is inaccessible to everything.
I usually do less i/o, as there is no point in typing more to make the thing you want the last! As fork is cheaper than exec, and no exec's cheaper than any exec's,if this fits your needs, it is fastest at 1 fork: