use IO::Handle;
our %flag;
-our @order, @order_final_maybe;
+our (@order, @order_final_maybe);
+our $verbose=0;
while (@ARGV && $ARGV[0] =~ m/^\-/) {
$_ = shift @ARGV;
} elsif (s/^-D//) {
$flag{$_}{Result} = 1;
push @order_final_maybe, $_;
+ } elsif (m/^-v$/) {
+ $verbose = 1;
} elsif (m/^--$/) {
last;
} else {
}
foreach $_ (@order_final_maybe) {
- push @order, $_ unless $flags{$_}{InOrder}++;
+ push @order, $_ unless $flag{$_}{InOrder}++;
}
+my $current = $ARGV[0];
+
open O, '>', "$current.tmp" or die "$current.tmp $!";
foreach $_ (@order) {
if (!defined $ff->{Result}) {
my $s = '';
foreach my $ix (qw(0 1 2)) {
- $ff->{Input}[$ix] ||= 1;
+ $ff->{Input}[$ix] ||= 0;
$s .= $ff->{Input}[$ix];
}
+ if ($verbose) {
+ print STDERR "MERGE-LISTS $s $_\n" or die $!;
+ }
$ff->{Result} =
$s eq '000' ? '000' :
$s eq '111' ? '111' :
- $ff->{Input}[1];
+ !$ff->{Input}[1];
}
if ($ff->{Result}) {
print O "$_\n" or die $!;