#!/usr/local/bin/perl -w # (c) Copyright Phil Abercrombie April 1997 # phil@mcs.vuw.ac.nz use Net::FTP; use Getopt::Std; getopts("A:au:h:p:v") || die <$HYLAFAX or die "Can't connect to fax server $FAXSERVER:$HYLAFAX\n"; $hfax->debug($opt_v); sub check(@) { my $code = $hfax->code; return $code if grep($_==$code,@_); return if $hfax->ok; die sprintf "%3d %s", $code, $hfax->message; } sub noecho($ ) { my $prompt = shift; system('stty -echo'); print STDERR "$prompt: "; chomp(my $input = ); system('stty echo'); print STDERR "\n"; $input; } END { system('stty sane') } $hfax->quot("USER", $USERNAME); if (check(331)) { $PASSWD ||= noecho "Password"; $hfax->quot("PASS", $PASSWD); check; } $ADMIN ||= noecho "Admin Password" if $opt_a; $hfax->quot("ADMIN",$ADMIN) if $ADMIN; check; $hfax->binary; check; my $job; for $job (@ARGV) # each job { my @docs; my $cx = $hfax->retr("doneq/q$job"); check; while(<$cx>) { push(@docs,$2) if (/^!?(postscript|tiff):.*(docq.*)$/); } $cx->close; check; $hfax->quot("JOB",$job); check; $hfax->quot("JNEW"); check; for(@docs) { $hfax->quot("JPARM","DOCUMENT","$_"); check; } # poke job's sendtime and killtime $hfax->quot("JPARM", "SENDTIME", "NOW"); check; $hfax->quot("JPARM", "LASTTIME", "000259"); check; $hfax->quot("JSUBM"); check; my ($jobno)= $hfax->message =~ /Job (\d+)/; print STDERR "Job $jobno submitted as clone of job $job\n"; }