$enscript = "enscript";
$program = $0;
$program =~ s/.*\///g;
sub usage {
warn "Usage: $program [ENSCRIPT_OPTION]... [FILE]...\n";
}
$args = "";
$files = "";
while ($arg = shift(@ARGV)) {
if ($arg eq "--help") {
&usage;
exit 0;
} elsif ($arg eq "--version") {
warn "sliceprint 1.0\n";
exit 0;
} elsif ($arg =~ /^-p(.+)$/
|| $arg =~ /^-o(.+)$/
|| $arg =~ /^--output=(.+)$/) {
$output_file = $1;
} elsif ($arg eq "-p" || $arg eq "-o") {
$output_file = shift(@ARGV);
} elsif ($arg =~ /^-/) {
$args .= " $arg";
} else {
$files .= " $arg";
}
}
if (defined($output_file) && $output_file eq "-") {
die "$program: output file can't be stdout\n";
}
$slice = 0;
while (1) {
$slice++;
if (defined($output_file)) {
$cmd = "$enscript" . $args . " --slice=$slice -p"
. $output_file . "." . $slice . " " . $files;
} else {
$cmd = "$enscript" . $args . " --slice=$slice" . $files;
}
print "printing slice $slice...\n";
$result = `$cmd 2>&1`;
if ($result !~ ".*lines were.*") {
last;
}
}