Stop using File::Slurp (the other methods already used Genome::Sys).
Use File::ReadBackwards in our new die/warn method.
Don't slurp the entire output file into memory.
Stop slurping the file in remaining case.

Rework helper functions to assume they get one line at a time.