#!/usr/bin/perl use strict; use warnings; if ($ARGV[0]) { open(IN, "<$ARGV[0]") or die($!); } else { *IN = *STDIN; } open(PROG, "| gs -dSAFER -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=- -c .setpdfwrite -f -") or die($!); while () { print PROG $_; } close(IN); close(PROG);