Hello nategold,
It appears that you have the exact same obsolete call in the psoptionreroute filter and it should suffice to replace line #7 by the following line:
This is the original, erroneous code:
use POSIX qw(tmpnam);
And this is the new code:
use File::Temp qw(tmpnam);
The error messages you're getting indicate that it's that line that is at fault, so the above should fix at least that problem. You may have other issues that I've not stumbled on so far, however, and the above fix may not be enough to solve them all. It appears that certain issues may show up when some settings are applied in the print dialog and when some of the custom scripts get invoked at the time of printing.
Have a look at the above and see if it solves your problem.