#!/usr/bin/perl -w

# Source: @RPM_PACKAGE_VERSION@-@RPM_PACKAGE_RELEASE@

BEGIN {
        select(STDERR); $|=1; select(STDOUT);
        unshift(@INC,($ENV{'POPHOME'}||'@POPHOME@').'/lib')
			unless $ENV{'KUNDE_NO_PERLPATH'};
      }
print "*** Drucke ...\n\n" if -t STDIN;

use utf8;
use strict;
use warnings;
use Umlaut qw(textmodus);
use Fehler qw(fehler);

use Loader qw(lister reader);
use Dbase::Globals qw(find_descr);

sub Usage() {
	my $vers = '@RPM_PACKAGE_VERSION@-@RPM_PACKAGE_RELEASE@';

	textmodus(\*STDERR);
    die <<END;
Usage: $0 -- druckt Dateien
          -P XX   an diesen Drucker (siehe 'kunde >?'; Default: less)
          -L      einzeln
          Datei.. diese Dateien

Version: $vers
END
  exit 1;
}

use Getopt::Std;
use vars qw( $opt_h $opt_P $opt_L );
getopts("aP:L") or Usage;
Usage if $opt_h;
Usage if @ARGV == 0;

if(defined $opt_P) {
    my $pr = find_descr("ausgabe",$opt_P);
	die "Ausgabe '$opt_P' nicht bekannt.\n" unless $pr;
	$opt_P = $pr;
}

my $lp;
foreach my $f(@ARGV) {
	my $d = reader($f);
	if($lp) {
		print $lp "\f";
	} else {
		lister($opt_P || 2);
	}
	print $lp $d or fehler "Kein Druck: $f: $!\n";
	if($opt_L) {
		my $lpx = $lp; $lp = undef;
		$lpx->close or fehler "Kein Druck: $f: $!\n";
	}
}
if($lp) {
    $lp->close or fehler "Kein Druck: $!\n";
}


=head1 Name

print.all -- drucke Dateien

=head1 Zusammenfassung

	print.all [-P Drucker] [-L] Datei...
		-P XX   Ausgabe auf Drucker XX
		-L      jede Datei einzeln drucken (ansonsten: ein dicker Druckjob)
		Datei.. diese Dateien drucken

=head1 Beschreibung

Drucke die Dateien via DB-Printbefehl.

=head2 Optionen

=over 4

=item C<-P Drucker>

Druckt auf diesen Drucker.

Liste: C<< kunde >? >>.

=item C<-L>

Druckt jede Datei als einzelnen Druckjob.

Ohne C<-L> werden die Dateien mit ^F getrennt als ein Job gedruckt.

=item C<-h>

Kurzhilfe.

=item C<Datei> ...

Druckt diese Dateien.

=back

Die Option C<-a> und das explizite Angeben von Dingern schließt sich
gegenseitig aus.

=head1 Daten

Der Verdingser greift auf folgende Datenbestände zu:

=head2 C</pop/dinge/LISTE>

Liste aller verdingbaren Dinge. Diese Liste wird nur gelesen.
Oder auch nicht...

=head2 I<pop.dingsbums>

In diese Tabelle werden die verdingsten Dinge eingespielt. Duplikate
werden überschrieben.

=head1 ToDo

Die ganze Verdingserei dient nur als Template und ist zu ignorieren.

=begin shell

