есть принтер 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
заранее спасибо за помощь.