8 our (@order, @order_final_maybe);
11 while (@ARGV && $ARGV[0] =~ m/^\-/) {
14 $flag{$_}{Result} = 0;
15 push @order_final_maybe, $_;
17 $flag{$_}{Result} = 1;
18 push @order_final_maybe, $_;
24 die "$0: bad option\n";
28 @ARGV==3 or die "$0: bad usage\n";
30 foreach my $ix (qw(0 1 2)) {
31 open F, '<', $ARGV[$ix] or die "$ix $!";
34 $flag{$_}{Input}[$ix] = 1;
36 push @order, $_ unless $ff->{InOrder}++;
42 foreach $_ (@order_final_maybe) {
43 push @order, $_ unless $flag{$_}{InOrder}++;
46 my $current = $ARGV[0];
48 open O, '>', "$current.tmp" or die "$current.tmp $!";
52 if (!defined $ff->{Result}) {
54 foreach my $ix (qw(0 1 2)) {
55 $ff->{Input}[$ix] ||= 0;
56 $s .= $ff->{Input}[$ix];
59 print STDERR "MERGE-LISTS $s $_\n" or die $!;
67 print O "$_\n" or die $!;
72 rename "$current.tmp", "$current" or die "$current $!";