есть принтер hp laserjet 2200? подключенный через usb
очередь печати - lprng
perl-овый фильтр для этого принтера
печатаю довольно простенькие ps файлы
проблема в следующем, фильтр почему-то печатает задание дважды
код фильтра
#! /usr/bin/perl -w
use File::Glob ':globally';
my $sig = "HP LaserJet 2200";
my $size = "a4";
my $dev = "";
my $dir = "";
my $file = "";
my $jnum = "";
foreach $i (@ARGV) {
if ($i =~ /^\-Z/) {
$i =~ s/\-Z//;
$size = $i;
}
if ($i =~ /^\-d/) {
$i =~ s/\-d//;
$dir = $i;
}
if ($i =~ /^\-e/) {
$i =~ s/\-e//;
$file = $i;
}
if ($i =~ /^\-j/) {
$i =~ s/\-j//;
$jnum = $i;
}
}
my $job = "$dir/$file";
foreach $i ("/dev/usb/lp0", "/dev/usb/lp1") {
my $res = "";
open (LP, $i) or next;
ioctl (LP, 0x84005001, $res);
close LP;
$dev = $i if ($res =~ /$sig/);
}
die "Printer $sig not found.\n" if ($dev =~ /^$/);
open (FILE, "<", $job) or die "Can't open job file $job. $!\n";
close FILE;
system ("/usr/bin/gs", "-q", "-sDEVICE=psmono", "-sPAPERSIZE=$size",
"-dNOPAUSE", "-dSAFER", "-sOutputFile=$dev", "$job", "-c quit") == 0
or die "Can't run gs: $!\n";
unlink <$dir/*$jnum*>;
exit 0;
софт
lprng - 3.8.21
ghostscript - 8.01
perl - 5.8.0
заранее спасибо за помощь.