#!/usr/bin/perl
#
local ($external_postscript_file) = $ARGV[0];
local ($external_postscript_code) = "";
local ($line)                     = "";
#
# Carica dal file esterno il codice da aggiungere.
#
open (PSCODE, "< $external_postscript_file");
while ($line = <PSCODE>)
  {
    $external_postscript_code = $external_postscript_code . $line;
  }    
close (PSCODE);
#
# Legge lo standard input e cerca l'istruzione "showpage" per
# inserire il codice aggiunto.
#
while ($line = <STDIN>)
  {
    if ($line =~ m/^\%/)
      {
        #
        # Si tratta di un commento o di un'istruzione speciale.
        #
        print STDOUT ($line);
      }
    elsif ($line =~ m/^(.*)\bshowpage\b(.*)$/)
      {
        #
        # Si aggiunge il codice.
        #
        print STDOUT ($1);
        print STDOUT ("\n");
        print STDOUT ("save");
        print STDOUT ("\n");
        print STDOUT ("$external_postscript_code");
        print STDOUT ("\n");
        print STDOUT ("restore");
        print STDOUT ("\n");
        print STDOUT ("showpage");
        print STDOUT ("\n");
        print STDOUT ($2);
        print STDOUT ("\n");
      }
    else
      {
        print STDOUT ($line);
      }
  }    
